[darcs-devel] announcing darcs 2.0.0pre1, the first prerelease for darcs 2

Stephen J. Turnbull stephen at xemacs.org
Mon Dec 17 23:27:23 UTC 2007

David Roundy writes:

 > Hmmmm.  Alas, curl 7.16 is not yet in debian stable (my default for when we
 > can require something),

This is an optimization.  Add a configure test for it, build it in
when available, add a Darcs option for it whether or not it's
actually, and a warning that this option is unimplemented/a no-op in
this instance of Darcs when it's not available.

 > but that's still very interesting!  Do you by any
 > chance have experience coding with libcurl?

I've wrapped libcurl for XEmacs.  It was a while ago, never completed,
I don't have much experience actually using it, and won't have time to
look at Darcs soon, but maybe my wrapping experience will be of use.
Feel free to CC me on any threads regarding work on this.

 > > 
 > > Pass a long set to 1 to enable or 0 to disable. Enabling pipelining on a 
 > > multi handle will make it attempt to perform HTTP Pipelining as far as 
 > > possible for transfers using this handle. This means that if you add a 
 > > second request that can use an already existing connection, the second 
 > > request will be "piped" on the same connection rather than being 
 > > executed in parallell. (Added in 7.16.0)

Based on my minimal experience with libcurl, it looks to me like this
is a straightforward change to Darcs sources; you don't even have to
catch any new errors.  Looks like libcurl will automatically fall back
to a new connection if pipelining fails.  IIRC switching from "easy"
to "multi" but providing only "easy" functionality is not that hard,
you just need to add some boilerplate setup.

More information about the darcs-devel mailing list