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

David Roundy droundy at darcs.net
Mon Dec 17 23:29:22 UTC 2007


On Tue, Dec 18, 2007 at 08:27:23AM +0900, Stephen J. Turnbull wrote:
> 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.

Yeah, that makes sense.

>  > 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.

I'll definitely try to remember to do so!

>  > > CURLMOPT_PIPELINING
>  > > 
>  > > 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.

That's good news! We'll definitely also need some not-quite-trivial changes
in darcs simply because darcs currently does all its downloads
synchronously, which I presume wouldn't work well with the piplining
changes.
-- 
David Roundy
Department of Physics
Oregon State University


More information about the darcs-devel mailing list