Time Machine vs Subversion
Is there any reason to not use Time Machine over Subversion (on Mac)?
I've been using both Versions and Cornerstone trials. Neither can resolve merge issues. With svn 1.6, you have the impossible tree conflict. If you get that, forget it. I continually have tree conflicts and file conflicts but no way to do anything about them. My setup is probably the simplest possible: One trunk with tag branches using a file system. Since trying to use Subversion, I've lost so much time. Previously, I was using Time Machine and never had any issues. I'm the only developer. Is there any reason to not ditch Subversion and go back to Time Machine?
Would using a local http:// type of repository work any better than my file based system or will I still see non stop tree and file conflicts that lead to no where?
Please don't point out the subve开发者_开发百科rsion redbook. Tree conflicts aren't really covered.
Time Machine is not a source code revision control system. Here are just a handful of things subversion can do that Time Machine does not do:
- diffs between versions
- attach commit messages
- revert changes to a known good state
- branch/merge (yes this can even be useful for a single developer who wants to try an experiment on the codebase which may or may not work)
- ability to tag releases
- ability to introduce a 2nd developer to your project and share code
I would strongly recommend sticking with subversion and learning how to use it. The featureset is much richer than Time Machine's, and you're also learning a valuable skill for working on team programming projects later on.
If you're getting conflicts (although I'm not sure what you mean by tree conflict), then you're doing something horribly wrong, especially if you're the only person using your subversion repository. You should post some examples of your workflows that are leading you to these unfixable conflicts, then we would be able to help you adjust your workflow for the tool.
Well one important difference that I can think of is that you can identify "when" code came from with subversion by using the annotate (also known as 'blame') function. It identifies for you what revision the line of code was last touched.
Subversion is also easy to transfer to an online hosted repository in the future if you ever decided that you weren't comfortable having all your backups within 1 foot of your main development computer.
精彩评论