Boost logo

Boost Users :

Subject: Re: [Boost-users] What's happened to Ryppl?
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2011-01-28 09:29:06


Edward Diener <eldiener_at_[hidden]> writes:

> 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

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net