Background: I have an application that is ‘In Review’ with Apple, and I want to make some changes to it, fork it I guess. So I’m considering using Version Control. I’ve used the Binary format since v1.0 or REALBasic. I use a bucket load of shared modules and I’m not looking for online backup (I have my own solution).
I once played with GIT on my machine, but ended up making a right dogs dinner of it.
So can anyone recommend a good local version control system that is compatible with Xojo, that would simply allow me to fork a project, continue working on it, without breaking the current release (because that just happened with my app ‘In Review’). Which would also allow me to continue using external objects.
your only choices for anything external is binary or xml
both suck to diff
so the value of version control is largely moot for those
now IF you used VCP you could use your externals but they are not managed inside Xojo
they’re basically set up as their own repositories and your individual projects are blissfully unaware of this
but it’s not something you just sit down & do if you’ve never used version control
both git and svn can do this (and svn is more than likely already on your machine - git may be as well depending on what version of Xcode you have installed)
I know thomas has written up how he uses arbed & externals & binary files
Git has a steep learning curve, unfortunately, but would do what you’re after and there are some GUI tools that make it a bit less painful (SourceTree, for example). I use private Github repositories for a few of my projects and, for the very simple workflow that I have, it’s okay.
If you’re after something really simple to use and wrap your head around, consider subversion. The pain there is that you have to set up a server. I’m not familiar as to what’s involved with that and hope to keep it that way.
The other system I’ve heard good things about is Mercurial (hg). Like git, it’s a distributed version control system, but supposedly it’s easier to learn than Git. If you’re going down that route and want something hosted like Github, there is BitBucket.
I use TortoiseHg (Mercurial based) on Windows, works great. If you just use it locally you don’t have to setup a server, just click on a folder and say create a repository here. I’ve heard good things about SourceTree. Even if you don’t start out branching / merging initially, it makes a great rewind / dif tool as you get used to the concepts and the tool.
There is a good tutorial on Mercurial at http://hginit.com/ by Joel Sposkey that is pretty low-level but gets you past the initial concepts.
A very simple solution is Git with the GitHub software, available from their web site. It is very basic software, but very easy to get started with, and you don’t need to start an account with them if you don’t want. It can all stay local to your machine.
git is easy to use for the very basics, then it switch to difficult. As for forking a project so you can test something new or risky, git was designed for it.
as many of stated, you really need to switch to VCP format to take advantage of the VC system. Otherwise there is no diffing between versions…
using git with sourcetree (which is free) is great for what you want to do.
if you dont want to learn and really use git every day, stick with the GUI. I use git all day everyday so I learned the cli. but honestly I do a lot of my work in my GUI (I use tower.app).
I use SVN on our Synology NAS server. It’s a simple “one button install” for either Subversion or GIT.
If you use Cornerstone you don’t need a server at all. It can create a local repo on your computer too.
I’m sure there is a hole in the market for a really straight forward VC software for single users on single machines. I found it hard to get my head around the current offerings and find them overkill for my own projects.
My own personal preference is to use Git with SourceTree as a front end, although to do so, I use the VCP file format.
Not sure about a version control for binary, maybe that could be a project for someone?
[quote=99796:@Sam Rowlands]Background: I have an application that is ‘In Review’ with Apple, and I want to make some changes to it, fork it I guess. So I’m considering using Version Control. I’ve used the Binary format since v1.0 or REALBasic. I use a bucket load of shared modules and I’m not looking for online backup (I have my own solution).
I once played with GIT on my machine, but ended up making a right dogs dinner of it.
So can anyone recommend a good local version control system that is compatible with Xojo, that would simply allow me to fork a project, continue working on it, without breaking the current release (because that just happened with my app ‘In Review’). Which would also allow me to continue using external objects.[/quote]
(I use Github for my GIT server services)
Xojo Binary Format:
— SmartGit (Git Client) and Arbed for Diff comparing
- SmartGit allows you to integrate Arbed into it so you can still just Double Click to compare within Smartgit. http://www.syntevo.com/
I used to use GitHub for both private and public repositories, but recently switched my private repositories across to BitBucket as they have free private repositories, it was really painless to import them directly. Has saved me a good few quid every month.
I’ve been a happy user of SourceTree as a GUI app for source control (does Git and Mercurial, with bridging to svn too). There’s apparently quite a layout change in v1.9.x, so I’ve resisted upgrading from 1.8.x until I have time to play.
SourceTree works on both Mac OS X and Windows and is free. Love it.
If you are on Windows, TortoiseHg, http://tortoisehg.bitbucket.org/, its free. After installing, right-click on the main Project folder and choose create repository…you are now under version control in 10 seconds. Of course there is a lot more two it, but that gets you started. Mac, others will have to comment.