David Roundy wrote:

=== Creating a repository in the darcs-2 format ===

Converting an existing repository to the darcs-2 format is as easy as

darcs convert oldrepository newrepository

I did this for GHC's repository. I left it running last night, and I'm not sure whether it completed successfully - I certainly have a repository, but it had a _darcs/lock file left in it. It seems to have all the patches in _darcs/patches, and the last one is dated about 3.5 hours after I started the conversion.

$ darcs2 query repo
          Type: darcs
        Format: hashed, darcs-2-experimental
          Root: /64playpen/simonmar/ghc-darcs2
      Pristine: HashedPristine
         Cache: thisrepo:/64playpen/simonmar/ghc-darcs2
   Num Patches: 17532

A few quick performance tests.  The darcs2 repository is on a local filesystem:

$ time darcs2 whatsnew -s
No changes!
2.25s real   2.04s user   0.18s system   98% darcs2 w -s

In a darcs1 GHC repository mounted over NFS:

$ time darcs whatsnew -s
No changes!
0.13s real   0.03s user   0.05s system   58% darcs w -s

"darcs changes" seems to have a big performance regression:

$ time darcs2 changes --last=10 >/dev/null

I killed it after 3 minutes of CPU time and the process had grown to 1.4Gb. darcs1 does this in 0.05 seconds using 2Mb. Perhaps the repository is corrupted somehow?

I've tarred up the repo and put it here:

  http://darcs.haskell.org/ghc-darcs2.tar.gz

It is also online here:

  http://darcs.haskell.org/ghc-darcs2

---------------
Documentation nits

The 'darcs show' documentation appears in two places, under "Seeing what you've done" and "Advanced examination of the repository".

The docs still say that two patches making the same change are considered to be in conflict.

I can't find any docs about using lazy patch downloading and the ~/.darcs/sources file.

Cheers,
        Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to