[darcs-users] some darcs comments from Johan Tibell

Trent W. Buck twb at cybersource.com.au
Fri Dec 25 11:47:18 UTC 2009

Eric Kow <kowey at darcs.net> writes:

> he [wants] make-me-a-branch command [to be] near instantaneousness.

Doing the operation on the fileserver (instead of over NFS), branching
is fast enough for me.  With the Darcs repository:

    $ time ssh fs darcs get --lazy $PWD $PWD+issue1234
    Copying pristine 286/508 : dist-v.sh
    Finished getting.

    real    0m1.157s
    user    0m0.010s
    sys     0m0.020s

    $ du -sh $PWD $PWD+issue1234
    52M     /home/twb/Desktop/Darcs/darcs
    4.7M    /home/twb/Desktop/Darcs/darcs+issue1234

fs runs Fedora Core 3 and has two SATA disks in a software RAID 1 array.
I can only assume that when people complain about slow branch creation

    - they're *really* impatient;
    - they're using NFS on 100baseT (like me);
    - they're still using old-fashioned-inventory repos;
    - they're not using --lazy for branches;
    - they're not using hard linking; or
    - they're using HUGE repositories.

Of course, darcs get is pretty slow over NFS... but so is rm -rf:

    0m20.646s  darcs get --lazy $PWD $PWD+issue1234
    0m4.137s   time rm -rf $PWD+issue1234

> Johan Tibell writes:

>> $ git diff master..integration  # All changes taken together to get an overview
>> $ git diff integration~2..integration~3  # Patch 3 (newest)

Isn't the latter equivalent to the simpler "git show integration~3"?

>> Random other things I miss:
>> * Being able to easily refer to any patch -- typing a regex the
>> matches the commit messages uniquely is a pain. So is counting
>> backwards (i.e. --last=54.)

What's git's "easy" way to uniquely refer to a patch?  Hashes?  Darcs
has --match 'hash XXX'.

>> * Incrementally building up the next commit using a staging area.

For haskell libraries, --builddir /var/tmp/staging ?

>> * Using the pager when it makes sense.
>>   * Not when typing "darcs help". You want the help text to stay when
>>     you're looking for command line flags to give to a command! The
>>     pager makes the help text disappear when you're supposed to type
>>     the command.

I think this is just git setting $LESS to FSR (unless it's already set
to something else).  The help text "disappears" because your terminal
emulator has been configured that way.  Try ^A:altscreen off in GNU
Screen -- I dunno about other terminals.  LESS=F should help if you use

>>    * When looking through the change log (darcs changes.) You rarely
>>      want all the commits to scroll by and see the oldest commit!

+1, or http://bugs.darcs.net/issue1431

More information about the darcs-users mailing list