On Friday 05 December 2008, Trent W. Buck wrote: > 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
This is a very poor user interface. A program should not rely on external shell scripts to do a fundamental operation (like copying a repo in one direction or another). Using the same argument we can remove get altogether since one can darcs init & darcs pull. I don't find this argument convincing. > IMO this use case is not common enough to warrant a whole new command Here we disagree. You cannot know how common this use case is. The fact that you never use it doesn't mean none else does. > just to save one line, particularly since it doesn't NEED to be > implemented within darcs -- it can be implemented as a shell function. See above. A program should provide a complete user interface to its functionality, not rely on external scripts. put is the opposite of get, and IMO they both should be available, both for symmetry reasons, and for my ability to do a repo copy operation in a single step, not by logging on the remote machine and going the reverse operation (get in this case) > 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. darcs has around 35 commands (maybe a bit more in 2.x). Comparing that to other version control systems who have between 75 and over 100, I'd say the user interface is very clean. But removing command symmetry will not make it more user friendly or simpler. People will wonder why they can do an operation but not the opposite operation. IMO put is as important as get. They are 2 sides of a coin. You cannot say put is not important but get is. > > 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. I disagree. Hiding information about how a program operates is bad. Having hidden commands is bad. If they are there for just a select few who know the internals they are useless. There are already hidden commands in darcs and I can't say I'm happy about the concept. -- Dan _______________________________________________ darcs-users mailing list darcs-users@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-users