Heads Up: code.haskell.org is upgrading to darcs 2

This email is for darcs users in general and in particular for people who host a project on code.haskell.org. What we are doing ================= We are upgrading /usr/bin/darcs to version 2 on the machine that hosts code.haskell.org. That means it will be used by everyone who uses ssh to push or pull from a darcs repository on code.haskell.org. Pulling via http is completely unaffected. Do I have to do anything? ========================= No. You do not have to change anything. darcs v2 can talk to darcs v1 clients perfectly well so you do not need to upgrade your local version of darcs. You do not need to change the format of your local or server-side repositories. Darcs v2 works fine with darcs v1 format repositories. Should I change anything? ========================= We recommend that you upgrade your local darcs to version 2. This will allow you to take advantage of substantially faster push/pull operations over ssh (darcs 2 makes far fewer ssh connections). As noted above however it is not necessary for you to upgrade or for you to synchronise your upgrading with anyone else who uses the same repository. It is also possible to use a darcs "v1.5" hashed format locally and continue to use darcs v1 format on the server side. This has some performance and reliability advantages. Again this is something you can decide yourself without coordinating with other users of the repository. If your development style means that you bump into the infamous merging problems with darcs v1 format then you may consider converting your repository to the darcs v2 format. Remember that using darcs 2 with darcs v1 format repositories does not eliminate the merging issue. To banish the merging problems you have to use the darcs v2 format. This is however a more substantial change and has to be synchronised between users of the repository because it involves converting the server side repository to v2 format and all users getting the repository again. So if merging is an issue for you then you should discuss it with other users of your repository. Is this change safe? ==================== Yes. Darcs 2 has a substantial test suite. It has unit tests covering the core patch operations and also over 100 scripts doing functional testing, including network tests. The darcs build-bots run all these tests on all the popular platforms. Additionally, the code in darcs 2 for handling the v1 format is mostly the same as in darcs 1, so there are no big risks in using darcs 2 while continuing to use darcs v1 format repositories. The main change in the v1 format code is bug fixes, instrumentation code for debugging/introspection and more cunning types in the patch handling code that enforces some of the patch invariants. Furthermore, we have done real world tests using copies of all the 153 repositories on code.haskell.org which comes to around 2GB. We wanted to verify a couple things: 1. that using darcs 1 on the client and darcs 2 on the server works fine to pull and push patches. This corresponds to a project where all the users are still using darcs 1. 2. that using a mixture of darcs 1 and darcs 2 clients works when pushing and pulling patches between the clients via the server. This corresponds to a project where some users have upgraded but others have not yet. We tested with darcs 1.0.9 and 2.0.2 in three combinations: client darcs 1, server darcs 1 client darcs 1, server darcs 2 client darcs 2, server darcs 2 The test consisted of obliterating a significant number of patches from each repository and pushing them back. In a separate experiment each repository was converted to darcs v2 format which worked without problem in every case. What if I have problems? ======================== Contact support@community.haskell.org. We have made backups of all the repositories in case there are any critical problems. Thanks to the darcs hackers Eric Kow and Jason Dagit for doing all the hard testing work. Duncan, Ian and Malcolm (part of the community server admin team)

On Wed, 10 Sep 2008, Duncan Coutts wrote:
Furthermore, we have done real world tests using copies of all the 153 repositories on code.haskell.org which comes to around 2GB.
We wanted to verify a couple things: 1. that using darcs 1 on the client and darcs 2 on the server works fine to pull and push patches. This corresponds to a project where all the users are still using darcs 1. 2. that using a mixture of darcs 1 and darcs 2 clients works when pushing and pulling patches between the clients via the server. This corresponds to a project where some users have upgraded but others have not yet.
We tested with darcs 1.0.9 and 2.0.2 in three combinations: client darcs 1, server darcs 1 client darcs 1, server darcs 2 client darcs 2, server darcs 2
The test consisted of obliterating a significant number of patches from each repository and pushing them back. In a separate experiment each repository was converted to darcs v2 format which worked without problem in every case.
Many thanks for the extensive testing! It's crucial to do that before facing code.haskell.org users with this major change.

We are upgrading /usr/bin/darcs to version 2 on the machine that hosts code.haskell.org.
That means it will be used by everyone who uses ssh to push or pull from a darcs repository on code.haskell.org. Pulling via http is completely unaffected.
Thanks Duncan! Now my hope is that we can encourage the good folk at Galois to make a similar upgrade for darcs.haskell.org -- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9

Hi
I'm currently unable to push to ndm@code.haskell.org:/srv/code/hoogle
using darcs 1.0.9 on Windows Vista, and wasn't able to yesterday
either. Is code.haskell.org just being slow, or is there a chance
that Hoogle suffered as a result of the upgrade?
Thanks
Neil
On 9/11/08, Eric Y. Kow
We are upgrading /usr/bin/darcs to version 2 on the machine that hosts code.haskell.org.
That means it will be used by everyone who uses ssh to push or pull from a darcs repository on code.haskell.org. Pulling via http is completely unaffected.
Thanks Duncan! Now my hope is that we can encourage the good folk at Galois to make a similar upgrade for darcs.haskell.org
-- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi
Ignore the previous email message, as soon as I sent the email it
started working - I guess it was just code.haskell.org server issues.
Thanks
Neil
On 9/14/08, Neil Mitchell
Hi
I'm currently unable to push to ndm@code.haskell.org:/srv/code/hoogle using darcs 1.0.9 on Windows Vista, and wasn't able to yesterday either. Is code.haskell.org just being slow, or is there a chance that Hoogle suffered as a result of the upgrade?
Thanks
Neil
On 9/11/08, Eric Y. Kow
wrote: We are upgrading /usr/bin/darcs to version 2 on the machine that hosts code.haskell.org.
That means it will be used by everyone who uses ssh to push or pull from a darcs repository on code.haskell.org. Pulling via http is completely unaffected.
Thanks Duncan! Now my hope is that we can encourage the good folk at Galois to make a similar upgrade for darcs.haskell.org
-- Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow PGP Key ID: 08AC04F9
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Sun, 2008-09-14 at 14:41 +0100, Neil Mitchell wrote:
Hi
Ignore the previous email message, as soon as I sent the email it started working - I guess it was just code.haskell.org server issues.
Yes it was unavailable for a short time yesterday. It got rebooted by the hosting company, we're not exactly sure why. Duncan
participants (4)
-
Duncan Coutts
-
Eric Y. Kow
-
Henning Thielemann
-
Neil Mitchell