[darcs-users] darcs patch: Hide the inefficient "darcs put" command.

Trent W. Buck trentbuck at gmail.com
Fri Dec 5 13:12:06 UTC 2008


On Fri, Dec 05, 2008 at 12:32:03PM +0100, Josef Svenningsson wrote:
> On Fri, Dec 5, 2008 at 9:26 AM, Eric Kow <kowey at darcs.net> wrote:
> > On Fri, Dec 05, 2008 at 00:10:42 -0800, Trent W. Buck wrote:
> >> I propose that the "darcs put" command be hidden until it becomes as
> >> efficient as "darcs get".  That means it is not listed in "darcs help"
> >> or in the user manual.
> >
> > I have no objections.  Anybody else?
> >
> 
> I object.
> 
> I was the one implementing the infamous put command and the reason
> that I did it is that it provides for a use case which isn't
> possible with the other darcs commands afaik (or at least very
> cumbersome). It goes like this. I have the following setup: a laptop
> which I use quite a lot for hacking and a server which provides
> reliable storage and possibility to publish repositories on the
> web. Now, it's very common that I create a repository on my laptop
> when I start hacking on a project. After the initial bit of hacking
> I want to put this repository on the server. Doing this with the get
> command from the server is highly inconvenient for two
> reasons. First of all my laptop doesn't have a fixed ip address so I
> would have to look it up.  Secondly I would have to be able to log
> in on my laptop via ssh or have a small webserver installed to be
> able to publish the patches to the server. On linux this is fine
> since sshd is fairly standard. On Windows otoh this is very
> inconvenient. So I see the put command as filling a very important
> niche. Note also that this use case doesn't require put to be that
> efficient. It's only a very small initial repo that is transfered
> with put and so its inefficiencies are bearable, at least that's my
> experience.

I considered that use case, and in my initial post I mentioned that

    darcs put x:y

amounts to

    ssh x darcs init --repodir y
    darcs push -a x:y

IMO this use case is not common enough to warrant a whole new command
just to save one line, particularly since it doesn't NEED to be
implemented within darcs -- it can be implemented as a shell function.

I'd like to minimize the number of visible commands, because new users
don't know which commands are "important" and which are for "edge
cases".  If "edge case" commands aren't listed, the user can focus
more easily on the "important" commands.

> Despite its warts I think put should stay and remain documented. It
> fills a small but important niche.

I suggested hiding it as a compromise.
Note that "darcs put --help" will still work.


More information about the darcs-users mailing list