[ANN] Free "Kochi Mini SVN" a very simple "Version Control System” for LiveCode

Rolf Kocherhans rolf.kocherhans at id.uzh.ch
Sat Nov 3 10:49:04 EDT 2012


I'm happy to announce the availability of "Kochi Mini SVN", it is totally free !

"Kochi Mini SVN" is a very, very, simple "Script-Level Version Control System" for LiveCode, built directly into the LiveCode Script Editor.

As a LiveCode enthusiast I have always wanted to have a simple to use "Script-Level Version Control System" for LiveCode. I saw a very impressive tool at RUNREV LIVE 2011 created by David Bovill. He suggested on his talk to not to be afraid to dive into the LiveCode IDE to find out more about the inner workings of LiveCode. His talk really inspired me to dig into the IDE and build, what I call the "Kochi Mini SVN" plugin, while we wait for his tool to be published.

The god thing, when you create such a beast on your own, you can decide exactly how its going to work :-). My goal was simplicity, that’s the reason why I designed the installer as a plugin. I am on the LC development channel and therefore get new versions frequently, with the plugin I can install "Kochi Mini SVN" very quickly and easyly.

Best Practice -> Install / Deinstall when you have no other stacks open since you have to restart LiveCode !

Important: When you try to Uninstall "Kochi Mini SVN", the IDE throws an warning message at you, saying that a stacks (revSE__Script__SVN) is already in memory. This is because the plugin and the IDE carry the same substack. You can just ignore this message and click "OK" and uninstall safely, no data loss will occur.
This problem could easily be overcome when the substack would be stored in a custom property of the main stack. I did not do this on purpose, to have easier access to the substack, to fix things or add features !


How does it work:
The Stack "Kochi Mini SVN" has to be used as a plugin, so please move it into your plugin folder before you try to install/uninstall "Kochi Mini SVN".

When you install "Kochi Mini SVN", it places 4 buttons, 2 images and one support substack (revSE__Script__SVN) into the LiveCode Script Editor. "Kochi mini SVN Installer" does NOT alter any scripts from the LiveCode IDE. After a restart to clean up memory, you're ready to use "Kochi Mini SVN" inside the Script Editor Window.

Whenever you like to check-in a script from any object, stack or substack you can now do so directly from within the Script Editor. Just hit the button "Check In" this will then save the script in a TEXT file (UTF8 Encoded) into a folder (which gets created on demand) just next to your stack. All saved script files contain the check-in date as well as the script itself in an XML like fashion !

If you at a later time would like to go back to a previous saved script or just compare what you have done, then just click the "SVN Revisions" button and choose a different file from the past (listed by date). This action will then open the support substack and show you your actual script alongside the saved script. Script differences are hilited.


What "Kochi mini SVN" can do for you:
- it can store scripts of any control/stack/substack in a text file on a local or remote folder (DropBox)
- it can diff "compare" between check-in in code and your actual code
- it can replace your actual code with checked-in code right from the Script Editor
- format all your scripts handlers by pressing the button "Format", the tab key sometimes updates only one handler
- it can remove comments and empty lines in your scripts with the "Compact" button
- since text files are stored in a folder next to the stack, multiple people can have access to the changed text files if the stack is stored on a server
- text files get indext by Spotlight (on OSX) and are therefore searchable from the finder (this is my favorite feature, to find handlers wich I have programmed in the past !)
- the Stack file format is 2.7 so that it works with LiveCode version 4.6.4 as well

What it can not do:
- it does not store information about any object properties
- scripts are not saved automatically, you have to "Check In" and "Check Out" your code
- it does not do SVN branching or merging
- it can not recreate a stack from the saved text files
- it can not store custom comments or custom version numbers with the script files
- "Kochi Mini SVN" is certainly not bug free :-)


I like to share "Kochi Mini SVN" for free, give something back to the community, some of what it has given to me. So just enjoy it, I hope "Kochi Mini SVN" is useful to lots of people !

If you like "Kochi Mini SVN" please consider to donate something to my PayPal account !

I release "Kochi Mini SVN" under the MIT License with the exception that whatever you do with my code, the resulting software has to remain FREE OF CHARGE !

You can download “Kochi Mini SVN” conveniently from RevOnline.

I hope that some of the pros (or the RunRev prople) on this list take up my idea and develop my plugin further or create something much better :-). There is plenty of room for improvement, for example the diff handler could be improved to work more reliable and have different colos etc.

Have fun as always
Cheers
Rolf

PS: "Kochi mini SVN" was designed to run under OSX, I did minimal testing on Windows (works) but I have no idea how it behaves on Linux !

PS2: Please don’t shoot at me with bug reports and enhancement requests for the plugin. For me it does everything I need ! If you have great ideas, make a stack with the feature and send it to me. If I find your idea useful, I will incorporate the feature and release an updated plugin ! Remember "Kochi mini SVN" is free and all scripts are open :-)






More information about the use-livecode mailing list