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).
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.