<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">SVN doesn't require you to spend a lot of time learning it and adapting to its way of doing things. (The learning curve for SVN was small for me. </blockquote>
<div><br></div><div>Git also doesn't require you to spend a lot of time learning it and adapting to its way of doing things, if all you want to do is use the subset set of functionality that SVN provides. If you're using Git to talk to a central repository and simply force all your pulls from that central repository to 'rebase' your changes so that they appear after what you pull down (this can be done by setting branch.autosetuprebase or branch.<name>,rebase), your daily workflow is almost identical to SVN (checkin is split into two steps 1. commit locally, and 2. push to the central repo).</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">My initial (and subsequent) experiences with git are that it's very, very complex. And it gets in the way of most things I want to do. I still don't know what a "ref" or "object" is.)<br>
</blockquote><div><br></div><div>This very short page explains these things relatively well. <a href="http://eagain.net/articles/git-for-computer-scientists/">http://eagain.net/articles/git-for-computer-scientists/</a></div>
<div><br></div><div>The reality is that Git isn't complex at all, although the man pages might make it look that way because most commands have many sub-options that can be used to achieve very specific behavior. The reality is that you can ignore 90% of most man pages, especially if you all you want to is have an SVN-like workflow.</div>
<div><br></div><div>I've heard this "SVN works great for my workflow" argument before (in fact recently), and if I go back 15 years I heard the "I don't need SCM/VCS - my workflow of manually copying around back-ups works just fine." from people working on small projects on their own. The reality is that I am skeptical that there is any good way to explain how much of a benefit you can get from Git or other DSCMs - it's one of those things you have to experience for yourself to understand. I know that as I use Git more and more, I appreciate it more and more. I invested a little time up front and it has paid off many times over. I have found that my workflow has evolved with that appreciation. One of the key benefits of Git is that it allows you to separate check-pointing your work from publishing it, making it easy to make many small changes and back out of some/all of them trivially. It makes it trivial to separate out changes into different lines of development as well (bug fixes vs. feature A vs. feature B) without having to pull up an editor and copy changes across separate checkouts of a repository - it actually makes supporting the small-patches philosophy of LLVM reviews much simpler than with SVN, which turns doing these things into manual and error prone tedium.</div>
<div><br></div><div>Mark</div><div><br></div></div>