lcVCS Docs

A place to discuss Version Control in LiveCode

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

lcVCS Docs

Post by monte » Sun Jan 12, 2014 10:51 pm

Most of the documentation for lcVCS will be either in the README or in the project wiki https://github.com/montegoulding/lcVCS/wiki

I've started a ui description doc here: https://github.com/montegoulding/lcVCS/ ... -interface

The Wiki is editable by anyone but some of the content will be exported from clarify documents and the changes might get overwritten so if you want to edit a page check with me which ones are ok.

If there's something you feel should be documented but isn't please post it here.
Last edited by monte on Sun Jan 12, 2014 11:02 pm, edited 2 times in total.
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9802
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: lcVCS Docs

Post by FourthWorld » Sun Jan 12, 2014 10:53 pm

Thanks for putting that together, Monte. It feels like we're moving toward something very cool with this. I appreciate all your work to make it happen.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: lcVCS Docs

Post by monte » Sun Jan 12, 2014 10:55 pm

I think it's cool but I'm biased ;-)
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

trevordevore
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1005
Joined: Sat Apr 08, 2006 3:06 pm
Location: Overland Park, Kansas
Contact:

Re: lcVCS Docs

Post by trevordevore » Sun Jan 12, 2014 11:54 pm

I think it is cool, but that is just because it is :-)
Trevor DeVore
ScreenSteps - https://www.screensteps.com

LiveCode Repos - https://github.com/search?q=user%3Atrevordevore+topic:livecode
LiveCode Builder Repos - https://github.com/search?q=user%3Atrevordevore+topic:livecode-builder

robl
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 62
Joined: Wed Dec 22, 2010 9:50 pm
Location: 3rd planet from the Sun

Re: lcVCS Docs

Post by robl » Mon Jan 13, 2014 12:53 am

I've already moved my 3 current LiveCode-based projects to github (private repos) using lcVCS 1.0.0 beta 2. It's a great plugin and the documentation has really helped. For the first time, I feel comfortable using version control for LiveCode.

Thanks, Monte.

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: lcVCS Docs

Post by monte » Mon Jan 13, 2014 1:10 am

Great stuff! BTW for anyone wanting free git hosting for private repos I use BitBucket. Saves me a few bucks a month ;-)
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1236
Joined: Sat Apr 08, 2006 1:10 pm
Location: Zurich
Contact:

Re: lcVCS Docs

Post by BvG » Mon Feb 24, 2014 11:41 pm

In the wiki page for the gui description, the images seem to not work, is that just me?
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: lcVCS Docs

Post by monte » Tue Feb 25, 2014 12:44 am

Not sure why that happened… I'll check it out.
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: lcVCS Docs

Post by monte » Tue Feb 25, 2014 1:10 am

should be fixed now
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

seaniepie
Posts: 154
Joined: Wed Sep 07, 2011 10:56 am

Re: lcVCS Docs

Post by seaniepie » Fri Jun 27, 2014 3:31 pm

Hi all,

I must be stupid or something. I've tried and tried but cannot seem to get lcVCS to work and I am definitely doing something wrong. The 'guide' doesn't really help a newbie work out how to use it so I have nothing to follow to work out where I'm going wrong. I've installed the plugin (some time ago) and it's been sat in my project browser reminding me to do something about it for about 6 months. Can someone explain to me how I get my stacks to use lcVCS, how I get it so that both me and someone else can work on the same stack (not necessarily at the same time but if they can, how?) and I check between the updates. Is it all command line based? I don't understand, there just doesn't seem to be enough information to work it out. If there is, what have I missed that educates me?

Cheers

Sean

Martin Koob
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 256
Joined: Sun May 27, 2007 8:19 pm

Re: lcVCS Docs

Post by Martin Koob » Sat Jun 28, 2014 9:23 pm

Here are some basic steps and a brief explanation of how it works to get started. If I have any of this wrong someone let me know. I have only set it up once for my project a while ago.

You said you had the plugin installed if, if someone has not see Monte's docs for how to install.
https://github.com/montegoulding/lcVCS
You need to install both the lcVCS plugin and the mergJSON plugin.

Once you have those plugins installed you can set up your project to use lcVCS.

You need to note first where you have your project saved you will have lcVCS to point to that.
To do that in the lcVCS plugin click on the '+' button on the left side. Here you choose the path to your stack. That folder is then added as a project that lcVCS can track

Next you have add the stack files for that project to track.

To do this while you have your project selected on the left side click on the stack files tab in the lcVCS plugin.
Now click the '+' button under the stack files field to add stacks that you want tracked by lcVCS.
(the order you add the stacks in is important. see the docs for more info.)

Next you need to export the stack files to VCS by clicking the 'export to VCS' button.

So now you have your first version saved. When you make changes and save them then you use the 'export to VCS' button each time to export the updated stacks to lcVCS.

So now in your stack folder you will see other folders that mirror the stack files in you project. These contain a representation of your project in a series of folders and text files that can then be used by a version control system.

So the next step is to set up a repository with a version control system. I have a repository set up on https://bitbucket.org and use the client software 'SourceTree' http://www.sourcetreeapp.com. You can check the docs there to see how to set up a repository there and associate it with your local folder where your stack files are saved.

Once you have that setup you can use SourceTree to commit changes that are in the local file to the remote repository and track your changes. I understand you can do all of this by command line if you are so inclined--I am not at this point, I like the GUI that SourceTree has.

If you have another person working with you you add them to the same repository so they can then check out your project which downloads the lcVCS generated files to a folder on their computer. They can then rebuild the stacks from the lcVCS generated files by setting up that folder in the lcVCS plugin and then clicking 'import to stack files'.

So then you make changes, export to stack files, commit to the remote repository, The other person can then see that you have made changes and they checkout the changes you have made which downloads them to their local repository. They have to 'import to stack files' so the stacks are rebuilt then they can make changes, export to lcVCS commit, and so on. You can both be making changes at the same time but you have to do things like create a branch and then merge the branch back later. I am still getting the hang of this aspect of version control. One really powerful part is you can check out older versions of your stack and then rebuild your stack from stack files then work on it and create a branch from that point. The other thing that I find really helpful is that you can see all of the changes you made to scripts over time.

That is it in a nutshell and probably an oversimplification. Again someone correct me if any of this is wrong or is missing steps. Does any of this help?

There is some more work to do to ensure lcVCS works properly. See the docs for the rules for successful use of lcVCS and tips on how to reduce false positive conflicts.

I have been using lcVCS for a while and it has really made working on my project much easier and has given me confidence as I make changes to scripts because I can easily see the history of what I have changed and if need be go back to an earlier version.

I had never used version control before but after setting this up I would not go back. Monte's lcVCS is a great contribution to the LiveCode community.

Martin

Martin Koob
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 256
Joined: Sun May 27, 2007 8:19 pm

Re: lcVCS Docs

Post by Martin Koob » Sat Jun 28, 2014 10:13 pm

I just tried setting up a new repository on BitBucket and I realized my explanation above bit backwards as far as when to set up the repository. You should set up the repository first in BitBucket then clone repository to your computer using SourceTree. There is an option for that in BitBucket once you create a new repository. This creates the local repository on you computer associated with the remote one on BitBucket.org.

Then you should save your project stacks in the newly created repo folder.

Now you can set up the project in lcVCS using the path to the repository where you have saved your files.

Once you have followed the steps in the previous post using the lcVCS plugin to export your project to stack files you can then commit the project using the SourceTree app.

Once you have the project set up in BitBucket.org there is an option there to invite users to the repository. That is how you would add people to the project.

They would then have to clone the repo to their local drive and then using SourceTree pull your changes to their repo.

Then they have to use the lcVCS import to stack files button to build stack files from the lcVCS files.

Martin

Martin Koob
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 256
Joined: Sun May 27, 2007 8:19 pm

Re: lcVCS Docs

Post by Martin Koob » Sat Jun 28, 2014 10:24 pm

One more thing. When you clone your repo to your local computer you should add a git ignore file in the root of the repos as explained in Monte's docs.

https://github.com/montegoulding/lcVCS/ ... -GitIgnore

Martin

monte
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1564
Joined: Fri Jan 13, 2012 1:47 am
Contact:

Re: lcVCS Docs

Post by monte » Fri Jul 04, 2014 7:39 am

Thanks Martin

Sean did that help or are you still looking for more info?

Cheers

Monte
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

jim1001
Posts: 143
Joined: Fri Jan 29, 2016 6:25 pm

Re: lcVCS Docs

Post by jim1001 » Thu Jul 07, 2016 6:01 pm

Martin Koob wrote:One more thing. When you clone your repo to your local computer you should add a git ignore file in the root of the repos as explained in Monte's docs.

https://github.com/montegoulding/lcVCS/ ... -GitIgnore

Martin
Martin, Monte - thanks for all your efforts. However I’m slightly confused. Can IcVCS be used to track changes to a stack file? Reading around, I thought that was the point. A .livecode file is all I get when saving my work and so what I want to track. But the first section of the ignore file above will ignore stack files. Is that because it’s for “IcVCS projects”? Is there a template gitignore file for repos which want to track changes to stack files?

Any help appreciated.

Thanks.

Post Reply

Return to “Version Control”