[darcs-devel] darcs patch: add an unused RepoFormat module.

Juliusz Chroboczek Juliusz.Chroboczek at pps.jussieu.fr
Sun May 1 06:40:11 PDT 2005


> But although identifyRepository is invasive enough that we should
> keep it out of 1.0.3, could it apply cleanly to darcs-stable? That
> is, does it have dependencies on anything else in darcs-git or
> darcs-unstable that we may not want in darcs 1.0.4?

I'll try to work that out next week.

> If it depends on the gittish part of darcs-git (which I seem to
> recall that it oesn't, since you did this first), that would be much
> more iffy.

Life is not so simple, unfortunately.  I first did a minimal
implementation of the convergence layer.  Then I adapted just pull to
use the convergence layer, and implemented just enough of Git.lhs to
get pull to work.  Then I adapted all the other read-only commands to
use the convergence layer, augmenting it in the process (except
annotate, which requires some more thought).  Then I adapted all the
other commands to go through the convergence layer (except resolve and
get).

So there is quite a bit of interleaving between the three activities
(implementing the convergence layer, adapting the commands to use it,
and implementing the Git code).  Which is what I'd expect, since I
cannot be expected to design the convergence layer without first
understanding what is common between the two repo formats, and what is
format-specific.

> Perhaps now would be a good time for Ian to pull your
> identifyRepository-related patches into unstable?

My personal opinion would be to pull all of darcs-git into unstable
(hey, it's supposed to be unstable, for Git's sake), but disable the
Git code in the default build.  That would be less work for me.  It
would also be less confusing for the users if a non-Git Darcs can
produce a friendly ``Sorry, this instance of Darcs doesn't support Git
repositories, please recompile with --enable-git'' rather than
complaining about openBinaryFile being broken.

If someone wants to be really helpful, could they please send me a
patch that

 - adds options --disable-git and --enable-git to configure, disable
   being the default;

 - adds a makefile macro HAVE_SSL which is set when we have libssl;

 - links darcs with -lssl when HAVE_SSL is set.

A patch against either darcs-unstable or darcs-git will do.

                                        Juliusz





More information about the darcs-devel mailing list