Repository tool for Livecode

Stop by to discuss use cases, requirements, information architecture, flow diagraming, unit testing and usability.

Moderators: FourthWorld, Klaus

Post Reply
JosepM
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 344
Joined: Tue Jul 20, 2010 12:40 pm

Repository tool for Livecode

Post by JosepM » Tue Sep 10, 2013 3:32 pm

Hi,

I need help to prepare a local team to start developing with LiveCode. Any advice or experience using any tool to share code between teams?
I need work locally, I read about Git but I don't have idea how start with.

Thanks in advance,
Josep M

icouto
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 92
Joined: Wed May 29, 2013 1:54 am
Location: Sydney, Australia

Re: Repository tool for Livecode

Post by icouto » Wed Oct 09, 2013 4:04 pm

The tools you will need will depend on the complexity of your project, the size of your team, and their level of familiarity with versioning control systems like git. I'll give you a couple of examples:

1) Simple project, small team
If your project is not complex, and you have a small, close-knit team, you may want to do all your syncing and versioning "by hand". People can work separately in their own libraries/stacks, and as the stacks become ready for testing, you add them to your project, in a shared folder somewhere. This allows you, for instance, to have someone working on the interface stacks of your app, while someone else is working on a backend libraries. Before making any possible breaking changes, you simply make a copy of the current project, and then add the new stacks/libraries and conduct your tests in the new copy. If all is OK, then the copy becomes the new 'base' for further changes.

2) Complex project, large team
If your complex is large or complex, and you have a large team, then trying to manually keep track of all the changes, who made them, and which change broke what part of the program becomes a nightmare. This is where a versioning control system ("VCS") like git can really help. It allows each developer to create branches of your program, which they can play with, and once ready, these branches can be merged back and integrated into the main program. If a branch causes a conflict or bug, you can 'roll back' and revert to previous states of development, because git keeps a complete history of everything that was done by everybody, since the beginning of the project. Git also allows you to roll back individual files, and even portions of files, making it a lot easier for you to pinpoint exactly what part of the code brought the bug. All this functionality, however, comes at a cost: Git is hard to come to grips with, and you need time and dedication to learn it properly.

Lastly, git is meant for versioning of text-based files. Although it can be used with binary files, many of its useful functions are lost or useless with those. LiveCode, at the moment, uses a proprietary format - binary - for its stacks, taking away much of the usefulness you'd get from git. There are plans for changing the stack file format into something more vcs-friendly, but that may be a long way off yet. In the meantime, if you want to properly use LiveCode with vcs, you need to EXPORT your stacks into a vcs-compatible format, using something like Monte Goulding's excellent lcVCS, which you can get here:

https://github.com/montegoulding/lcVCS

I hope this helps!

Post Reply

Return to “Software Engineering”