LiveCode Source Control
Asked Answered
M

5

5

Anyone out there using LiveCode in a multi developer project?

Either way, can someone recommend a good source control system / plugin to use?

We've looked at MagicCarpet but since it is no longer developed we wish to use something else.

Thanks

Mishnah answered 27/7, 2012 at 8:34 Comment(0)
L
3

Yes, our team has been using LiveCode with multiple developers. Since the Livecode community is still young, acquiring good source control tools can be a challenge. Our solution has been to break code into modules (stack files). When there are updates to merge into the main codebase, we clone our existing codebase, and merge code changes manually using line by line compare in a text editor. This is not a fun process, but is much less painful than it sounds.

If I were to redesign the system, we would simply use Git (Github.com etc.). There is no reason this would not work with Livecode stacks.

Lycaonia answered 29/8, 2012 at 17:4 Comment(1)
Thanks alot for the reply. That's basically what we're doing, using dropbox and keeping things separate in different stacks. We're only a small team of 3, so this works for us, but I'd imagine larger dev teams would struggle.Mishnah
S
8

I'm working on a solution to this problem by exporting the stack file as a structured directory of script, json and image files which will diff and merge nicely in most VCS. It is not yet available but the intention is it will be open source. My goal is to demonstrate it at the RunRevLive conference in May.

Here's the repo for lcVCS https://github.com/montegoulding/lcVCS

Suzetta answered 7/3, 2013 at 2:6 Comment(0)
S
5

I have put a git library stack on revOnline (libVersionControl) that exports to structured xml files that git can handle. It works as far as it goes, but I have hopes that Monte's solution will supersede this effort.

revOnline link to stack

Sladen answered 8/3, 2013 at 0:50 Comment(1)
Upvoted because yours is the only currently functional solutionSuzetta
L
3

Yes, our team has been using LiveCode with multiple developers. Since the Livecode community is still young, acquiring good source control tools can be a challenge. Our solution has been to break code into modules (stack files). When there are updates to merge into the main codebase, we clone our existing codebase, and merge code changes manually using line by line compare in a text editor. This is not a fun process, but is much less painful than it sounds.

If I were to redesign the system, we would simply use Git (Github.com etc.). There is no reason this would not work with Livecode stacks.

Lycaonia answered 29/8, 2012 at 17:4 Comment(1)
Thanks alot for the reply. That's basically what we're doing, using dropbox and keeping things separate in different stacks. We're only a small team of 3, so this works for us, but I'd imagine larger dev teams would struggle.Mishnah
B
3

We use LiveCode in a small team with Subversion.

We don't have a perfect solution, but it is very lightweight; we all use a custom extension to the standard toolbar, which among other things has a 'save+backup' button. When we started using it with Subversion, we added code to this button which saves an XML sidecar file for the stack. The file contains all the scripts, custom properties, and optionally fields (controlled by user property in each stack). In our case almost all of our work is in scripts, so this works for us.

The effect is that each time we commit to SVN, we're always committing two files, the LiveCode stack and the accompanying sidecar file - the latter works fine for diffing etc.

Where this lets us down is that we don't have any solution for merging. If we were working on larger systems more actively, we'd also modify I expect look to modify the sidecar format into a complete folder of files. For now however this makes the situation workable (and it takes no noticeable time to generate the sidecar file).

Happy to share code if that was useful.

Ballast answered 11/3, 2013 at 9:41 Comment(1)
Spot on.. coming up with a format that can diff is not complicated. Coming up with one that can merge and blame has a heap of issues mostly around object ids... see the lcVCS repo for more details on that...Suzetta
P
0

I know of a tool thats being worked on that is going to really help in this regard. When he showed it to me it looked very functional already. But I'm not sure when he will share it with the community.

So the point is, its just a matter of time before people's stuff comes together to make a turn key solution for this.

Pesade answered 18/6, 2014 at 19:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.