Steven Grimm wrote: > Jakub Narebski wrote: >> In my opinion the update-then-commit workflow CVS and SVN forces on users >> is one of the more annoying features, forcing the user to resolve conflicts >> if he/she wants to be up-to-date. >> > > I'm not eager to jump to svn's defense -- there's a reason I'm using git > and trying to get my coworkers to do the same -- but how does git allow > you to stay up to date without resolving conflicts? Granted that git is > smarter about resolving certain kinds of conflicts automatically, but > fundamentally if the latest revision you've pulled down (from any kind > of version control system) makes a change that conflicts with a local > change (whether or not you've committed it locally first) you're going > to have to resolve it by hand, yes? The answer is that in git you can separate _having_ most current version from the server (git fetch) and _merging_ your work with current version from the server (git pull). > Also, last I checked, git wouldn't let me push into a branch that had > revisions I hadn't yet pulled down. Isn't that just another way of > enforcing an update-then-commit workflow? If anything, svn wins in that > area -- it allows me to commit without updating as long as my change > doesn't touch any files that have changed upstream. > > One can argue about whether allowing partial commits like that is a good > idea, but it's just not true that svn forces you to always update before > you commit, and if you're pushing into a branch that other people are > also updating, the ability to commit files that didn't change upstream > means it is actually *less* insistent on update-then-commit than git is > (if you take "commit" to mean "commit-and-push" on the git side as was > suggested in the message I replied to originally.) > > Unless, of course, I'm misinterpreting you here. I just think the commit _then_ merge (or commit-then-update) workflow is much, much better than update-then-commit one. -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html