[darcs-users] darcs patch: Hide the inefficient "darcs put" command.

Trent W. Buck trentbuck at gmail.com
Sat Dec 6 02:31:31 UTC 2008


Florent Becker <florent.becker at ens-lyon.org> writes:
> Either we drop put now and forever, or we keep it and a/ try and make
> it efficient b/ warn our users.

Currently we do (b); I'd like to do (a) but until (a) happens I was
proposing to hide or remove the current implementation.  (This has been
rejected by Eric elsewhere in the thread, because there's a lot of
disagreement.)

> By the way, UI leanness is not measured in terms of number of
> commands/flags, but in terms of coherence. For this, having symmetric
> pairs is much preferable to removing the least used direction.

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:

    $ time darcs get --lazy --repodir $PWD.branch1 $PWD
    Finished getting.

    real    0m2.206s
    user    0m1.012s
    sys     0m0.464s

    $ 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

FWIW the result also includes more files, or does less hard-linking:

    $ cd ..
    $ du -sch darcs darcs.branch1 darcs.branch2
    51M         darcs
    4.5M        darcs.branch1
    5.9M        darcs.branch2
    61M         total



More information about the darcs-users mailing list