views:

241

answers:

2

My apologies if this has been asked before, I wasnt quite sure if this question should be asked on a programming forum, as it more relates to programming environment than a particular technology, so please accept my (double) appologies if I am posting this in the wrong place, my logic in this case was if it effects the code I write, then this is the place for it.

At home, I do a lot of my development on a Mac Pro, I do development for the Mac, iPhone and Windows on this machine (Xcode & Visual Studio - (multiple versions installed in bootcamp, but generally I run it via Parallels)).

When visiting a client, I have a similar setup, but on my MacBook Pro.

What I want is a source control solution to install on the Mac Pro, that will support both XCode and multiple versions of visual studio, so that when I visit a client, I can simply grab the latest copy from source control via the MacBook Pro. Whilst visiting the client, he / she may suggest changes, and minor ones I would tend to make on site, so I need the ability to merge any modified code back into the trunk of the project / solution when I return home.

At the moment, I am using no source control at all, and rely on simply coping folders and overwriting them when I return from a client- thats my 'merge'!!!

I was wondering if anyone had any ideas of a source provider I could use, which would support both Windows and Mac development environments, and is cheap (free would be better).

A: 

You can use github (free if the projects are open source). You could also just host an SVN Repo on your desktop machine - however you won't be able to access it from the road unless you setup some port forwarding and static ip (via like dyn dns or something).

SVN and GitHub will support any type of project (vs, xcode, etc).

Mr-sk
+4  A: 

I use Git ( http://git-scm.com ) when moving stuff back and forth between my Mac and PC.

I have had a lot of success using DropBox ( http://www.dropbox.com ) to host a bare Git repository and then I clone that repository on my Mac and my PC, then I can create branches and push/pull all I want between the local copy and the origin in the drop box folder which will then get automatically synced to my other machine.

The biggest benefit here is that I can propagate branches between the systems without commiting them to the main branch so everything I do is backed up and pushed to my other computer as soon as I push it to the repository.

Also, DropBox lets me push and merge my changes even when not online and then will sync them up once i'm connected again.

Fraser Graham