[darcs-users] sugggestion on command naming

David Roundy droundy at abridgegame.org
Sat Mar 13 15:31:16 UTC 2004

On Fri, Mar 12, 2004 at 05:51:27AM -0500, Zooko O'Whielacronx wrote:
> Now I'm confused too.

Oi! Confusion all over the place... definitely indicates that *something*
needs to be fixed.  I'm still hoping it's the documentation...

> > In the current darcs, there isn't a notion of pushing to an email
> > address.
> Why not?

Because in order to apply a patch you need to have the context of that
patch (that is, all patches preceding it).  In theory you could push a
patch without knowing what repository it will be applied to, but then you'd
be able to push a patch that noone could possibly apply (since it could
have in its context a patch that only you have).  Also, when pushing to an
email address without a target, darcs would have no way of knowing which
patches the recipients already have.

One could certainly implement the "push to email address", but I don't
think the concept is helpful.  Really, in practice what you want to do is
to either publish, send or apply patches which are applicable to a specific
repository.  Or perhaps rather that's what I mean by pushing "to" a
repository rather than "to" an email address.

> Like Adam Megacz, I still don't understand the concept of application
> being separate from pushing.
> I *can* understand the concept of posting a patch for people to view
> being different than posting a patch for application.  I would naturally
> think to use two different e-mail addresses for this, or one e-mail
> address for the publication and ssh for the application.
> Is that the difference between "push" and "push --and-apply" ?

Not quite.  Pushing a patch via email allows people to view *and* apply
that patch (or decide not to, of course).  If they choose not to view it,
but rather to simply apply it, that's their business, and has nothing to do
with the pusher of the patch.  So --and-apply doesn't make sense when
pushing via email.

If you set up your central repo to apply signed (and verified) patches
received by email (i.e. so *you* can push and have it automatically
applied), if you use the --reply option, any unsigned (or signed by an
unrecognized key) will be forwarded to you (or to a "patches" mailing list,
if you choose).  Thus if you don't mind getting confirmation emails for
each push, you can easily use one email address for both situations, that
of "posting" a patch, and that of "pushing for application" a patch.

> > Push is always pushing to an archive reachable by http, ssh, etc. In
> > all cases, --and-apply is an *option*, but isn't the default unless
> > specified in your prefs. And, in all cases, push will revert to sending
> > by email unless --and-apply is specified.
> Why?

Historically, because pushing via email came first.  Also because I wasn't
the one to implement --and-apply in the first place, and I still don't use
--and-apply (except very occasionally for testing), and my policy is that
as far as possible I should use darcs' defaults, partly so they get better
testing, but also so that I know that at least for *someone* (that someone
being me) the defaults work in a reasonable manner.
David Roundy

More information about the darcs-users mailing list