Edward Diener
On 1/28/2011 3:24 AM, Anthony Williams wrote:
The chief advantage of a DVCS over subversion is that you can do local development with full version control (including history) whilst offline, and then push/pull when online. Also, you can do incremental local commits, so you have the advantage of VC, without pushing unfinished changes to the main repository. Branching and merging tends to be easier too.
I do not follow why these are advantages. I can make any changes locally for files using SVN without having to have a connection to the SVN server. Your phrase "incremental local commits" sounds like more Git rhetoric to me. How does this differ from just changing files locally under SVN ?
By "incremental local commits", I meant that I can make a small change and commit it to the VCS locally whilst offline. I can then make another and another and another, rollback some changes and make some more, and commit that, and so forth. Then, later, I can upload the whole bunch of commits (with the log messages I made at the time) to the remote server. e.g. I'm working on a new, complex feature that impacts a lot of stuff. I can write a test, make it pass, and check in the change locally. When I'm working well I can make such commits every few minutes. With a remote server this can be slow and painful. Also, it doesn't matter if my changes leave partially complete features that won't integrate well, as no-one else can use it. From an SVN perspective, it's like having a private branch, and only merging to trunk at carefully chosen points. However, DVCSs tend to have much better handling of branching and merging than SVN, so merging that private branch to trunk when someone else has merged their changes in the mean time is much less of an ordeal. I can also rollback locally to an older revision whilst offline, do diffs and merges between branches whilst offline, and then push changes to the remote server later when online. The lack of a need for a remote connection for such things can make them considerably faster. Anthony -- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976