views:

474

answers:

4

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 subversion redbook. Tree conflicts aren't really covered.

+8  A: 

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.

amdfan
+3  A: 

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.

scwagner
+19  A: 

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
Asaph
+5  A: 

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.

Rudedog
It's as simple as me deleting everything out of one branch, copying from trunk into that branch and trying to commit. Conflicts everywhere. Shouldn't any because all of the files to conflict with are gone.
4thSpace
I think that comment belies a whole story. Can you explain what you're trying to do when you delete the contents of one branch and copy trunk over? I think this kind of thing is more likely the thing causing you problems that svn itself. Although it's always possible you're playing in a manner that upsets svn in a particular way.
Jim T
@4thSpace: wrong on two counts: 1. there *are* conflicts because you are telling svn that you both want to delete files and merge a new copy in; and 2. that's *NOT* how you merge trunk into your branch.
Ether
@JimT: I did deleted everything out of the target branch because of "tree conflicts". @Ether: Is there a link explaining how to merge trunk into a tag or branch folder?
4thSpace