[darcs-users] sugggestion on command naming

Tuomo Valkonen tuomov at modeemi.cs.tut.fi
Thu Mar 11 15:26:08 UTC 2004

On Thu, Mar 11, 2004 at 08:12:38AM -0500, David Roundy wrote:
> Hmmm.  I guess the problem is that it seems to me that with a properly
> configured repository, the email option should be the default.  After all,
> if someone wants to push patches to the darcs repository, email is the way
> it is done.

> I don't like the idea of darcs (by default) going
> out and trying to ssh to another computer just to see if you have
> permission to run some program named darcs on some other computer, and
> whether running that program is successful.

If I 'darcs get address', I would also expect 'darcs push' to try to push
to that address exactly or require explicitly specifying one, not 
automatically use some altogether different address and method. Since most
who will be getting copies of the repository won't even have any kind of
ssh access to that machine but will be using http, I don't see trying to
make such connections as a problem.

How I'd imagine doing things with darcs would be:

- Have a local non-publicly available "meta-repository" :) containing all my
  projects and their proper branches (and tags of all releases too if real 
  meta-repos as I suggested were supported)
- Push and apply from working copy repositories to the meta repository 
  "finished" features
- Mirror this meta-repository nightly or so (or even better, automatically 
  when pushed to... hmm...) to a web space (that I don't trust to be
  properly backed up etc.) via ssh for public read-only access
- To a working copy repository, either pull other people's changes from their
  published repositories or manually copy emails over to my computer from
  the web space/email system and apply them.

> > If webdav support was added, then http pushes could also work. 
> I don't think so.

I was not suggesting adding such support, but merely illustrating why I 
think attempting to push to the original location should be the default.

> > P.S. Does anyone have any comments on my meta-repository suggestion?

> I don't see why any project is likely to
> need more than a few branches in a centralized repository, and having a few
> copies of the repository doesn't seem like much of a waste.

As I said, I'd like branches and tags to be the same thing, and this meta-
repository thing would allow for such tags with very little additional
changes to darcs. 

> It seems like one could get most of the benefits with almost no in user
> interface by adding a prefs option indicating a local repo to consider
> getting patches from via hard link.  Then the various commands could try
> their best to hard link to patches in that repo when possible, 

So in all essence you would have a link to metarepo/_darcs_meta/patches,
but without any organisation of repository storage.

Infact, if darcs rebuilt _darcs/current from patches if it is missing (or
maybe it already does so?), this metarepo stuff could be done entirely by an
additional tool (with commands initarch, archive, optimise) and a cronjob to
optimise  the metarepository, given agreed-upon locking mechanisms. But it 
would seem nicer to not need external tools or to run additional optimisation
cronjobs, as this is only two extra commands. But given what Arch looks 
like, I can see not wanting to add too many new commands.


More information about the darcs-users mailing list