[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...
Finished getting.
real 0m18.255s
user 0m8.629s
sys 0m3.728s
$ 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
Finished applying...
Put successful.
real 4m49.517s
user 3m23.681s
sys 0m35.830s
> 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
mailing list