[darcs-users] darcs patch: Hide the inefficient "darcs put" command.
Trent W. Buck
trentbuck at gmail.com
Sat Dec 6 16:03:34 UTC 2008
On Sat, Dec 06, 2008 at 05:37:43PM +0200, Dan Pascu wrote:
>> Except that for the most common case, a local branch, get is
>> bi-directional, and more efficient that the currently
>> implementation of put. Using darcs' repository as an example:
> I think you are comparing apples with oranges here. You issues a
> lazy get which only took the pristine tree, while put took and
> applied all patches
OK, then let's compare it without laziness (even though it is a local
branch, and I *want* laziness). There's still an order of magnitude
difference between get and put:
$ time darcs get --complete --repodir $PWD.branch1 $PWD
Copying patches, to get lazy repository hit ctrl-C...
$ time darcs put $PWD.branch2
Merging them 3414/7011
Writing pristine 205/236
Optimizing inventory 3575/7011
Writing inventory 1/1 :
Synchronizing pristine 203/236
> IMO, it's less useful to have a lazy put (maybe it should be there
> for symmetry), because the use target for put is a bit different
> from get. [...] Put OTOH, is mostly used to setup a central
> repository for syncing between multiple disconnected developers.
Surely put is mostly used that way BECAUSE that's the only case for
which get is not a superior alternative. If put actually did
something significant, it would actually BE symmetrical with get and
it would be useful to use it for local lazy branches.
More information about the darcs-users