I've been working on an iPhone app for about a month and I'm waiting until I finish a key set of features before I put it under version control. I'm making so many big changes that I'd rather not keep track of them all yet. Regular Time Machine backups and archiving a copy of the code after implementing a key feature are the only things I'm doing at this stage.<p>I'm curious though, at what point in a project do you guys normally start using source control management (ie. subversion, git, mercurial)?
Every single text file you use should be in version control! Git is great for this, handles large files nicely and it's very easy to setup backup scripts across multiple machines. The line about making so many big changes is total nonsense! Get your text files into version control and do it right now, I think you should really consider what kind of release engineering you are doing for your app. How are you doing code branches so you can do bug fixes on released versions of your software without including experimental new code if you're not in version control??? You should seriously look into branches for your software for this and automating your build process as much as possible, in the end you will be grateful for the meta-work done today.
<i>I'm making so many big changes that I'd rather not keep track of them all yet</i><p>For what other reason is source control used but to maintain track of code changes like this!<p><i>Regular Time Machine backups and archiving a copy of the code after implementing a key feature are the only things I'm doing at this stage.</i><p>Then your using rudimentary source control anyway :) I'd switch to something more structured asap.<p>Im with the others: at the start. :) With hosting so cheap now (my choice is mercurial and bitbucket) and with private repositories barely a few clicks away there is no reason not to IMO.
It sounds like the source control you are using has too much friction, setting up a Git repo and keeping it up to date is quick and easy so there is no reason not to do it right away.
Yesterday.<p>If your version control system has so much overhead that putting code under VC is a chore or something to be put off and planned for, then it has a problem - and you need a new VCS, or at the very least, a new set of tools and workflows.