
Hi Daniel, On Sun, Nov 30, 2008 at 08:31:15 -0500, haskell-cafe-request@haskell.org wrote:
dafis@linux:~/lhc> darcs get --partial http://code.haskell.org/lhc Invalid repository: http://code.haskell.org/lhc
darcs failed: failed to fetch: http://code.haskell.org/lhc/_darcs/inventory ExitFailure 1
There's a hashed_inventory in lhc/_darcs, but no inventory. Is that a darcs2 vs. darcs1 incompatibility and I'm just screwed or is the repo broken?
There are two issues here. One is that the LHC repository is indeed a darcs 2 repository and you appear to have darcs 1 on your machine. I think upgrading to darcs 2 would be a very good idea, and I'm sure the darcs community would be happy to help you with this. The second issue is that our forward-compatibility detector was likely buggy in darcs 1.0.9. The response darcs 1.0.9 should have given you was something like this: darcs failed: Can't understand repository format: hashed darcs failed: Can't understand repository format: darcs-2 Unfortunately, the relationship between hashed and darcs 2 repositories is slightly confusing. Basically you need a darcs 2 client if you see hashed_inventory, but it does not necessarily mean there is an incompatibility. I hope that the following snippet from the darcs 2.1.0 release announcement can help clear this up: What should I do? ----------------- Upgrade! Binary versions should be available shortly, either from your favourite package distributor or by third party contributors. Other than installing the new darcs, no action is required on your part to perform this upgrade. Darcs 2, including this particular version, is 100% compatible with your pre-existing repositories. If you have not done so already, you should consider using the hashed repository format in place of your current old-fashioned repositories. This format offers greater protection against accidental corruption, better support for case insensitive file systems. It also provides some very nice performance features, including lazy fetching of patches and a global cache (both optional). If darcs 1 compatibility is not a concern, you could also upgrade your repositories all the way to the darcs 2 format. In addition to the robustness and performance features above, this gives you the improved merging semantics and conflicts handling that give darcs 2 its name. More details about upgrading to darcs 2 here: http://wiki.darcs.net/index.html/DarcsTwo Another clarification --------------------- To be clear, we say that hashed repositories are backward-compatible. This means that darcs 2 clients can pull and push patches between them and old-fashioned repostiories. On the other hand, interacting with the hashed repositories themselves requires a darcs 2 client. Thanks! -- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9