Closed Poll: New project, git or svn



  • There are a few confusing things in Mercurial too. For instance, pulling will not update your local working copy, which is what you'd expect if you've dealt with either Git or a standard VCS before.

    TortoiseHg also does weird thing with its Commit dialog... you basically switch which branch you're committing to by selecting it in a dropdown near the top of the Commit dialog. In TortoiseGit, you commit to whichever branch is the last one you used Switch/Checkout on. The Git Commit menu option even tells you which branch that is (see Cartman82's screenshot).

    On the command-line side, it's whichever branch you last used hg branch on... which brings up another confusing thing.

    In Mercurial: hg branch <namehere> doesn't actually create a new branch until you commit something to it. Meaning that if you create a branch with the intent that it serve as an unmodified backup of something and forget to commit something to it before switching back to the main branch... oops, no branch with that name exists. Which is the opposite of how git works.

    Then again, it's still better than SVN and its "use svn copy operations to branch" system of branching.



  • Our admin is also loving him some hg. Yet, in the end, he went with git. And I agree.

    It comes down to mindshare. Git may not be the best choice from technical standpoint, but it has basically won the DVCS war. It is now the accepted 'default' DVCS that everyone should know about. Meaning, if we get an outside consultant, they are much more likely to know git, or to be willing to learn it if they don't.

    VCS is only as useful as the user's willingness to use it. If we need to get their updates through email because "This thing doesn't work on my machine", or their commits are poorly formatted and full of crap they didn't bother to filter out, VCS won't help you, no matter how good it supposedly is.




Log in to reply