[darcs-users] darcs-2 help behavior

Matthias Kilian kili at outback.escape.de
Tue Oct 7 23:14:18 UTC 2008


On Tue, Oct 07, 2008 at 02:43:10PM +0100, Eric Kow wrote:
> > As you very well put it ("I'd like"), this is a personal preference, not 
> > necessarily a good user interface design choice.
> For background to this decision, see
>  * http://lists.osuosl.org/pipermail/darcs-devel/2008-January/007011.html
>  * http://bugs.darcs.net/issue896
> I would welcome any more background information behind this discussion.
> I had the impression that more people specifically asked for this
> behaviour before we implemented it.  Is this something people feel
> strongly enough about to back out?

Here's my opinion, but be aware that I'm some really old-fashioned
hardcore unix user[1]:

- The size of the visible world is 80x24. Even on my big display, my
  xterms are still 80x24.

- Therefore, the complaint in the first URL you mentioned has a point
  (--help, or -? should produce *short* output). I'm not even sure
  wether the advanced options should be printed by darcs at all
  (this stuff belongs into the manpage).

- If the output has to be longer, the *user* should decide wether to use
  a pager or not, i.e. don't pipe output to a pager from within the
  program. The program (darcs, in this case) should not pipe anything
  into a pager, if possible.

- Exception to the previous rule: if there are user interactions on
  several independent entities (e.g. patches), launching a pager
  from the program for every single entity is ok. For darcs, this
  would include interactive selection of patches during a pull, and
  darcs already does a nice job here, since you can choose wether
  you want the current patch written to stdout or piped into a

- Usage output (be it via --help, -?, --gimmeaclue) should be written to
  stdout, not to stderr -- AFAIK this isn't an issue for darcs, but I
  hate it *so much* if I've to type something like

	foo --help 2>&1 | more

  for some `foo' tool that I mention it here ;-)

> Two other notes
> * to get help explicitly without a pager: darcs help | cat
>   to get help explicitly *with*  a pager: darcs help | less
>   so as I understand it, this is a question of picking the right
>   defaults

Well, for cherrypicking patches interactively, you *need* a pager
(which is ok), and it *has* to be launched by darcs (which is ok).
For one-shot output, darcs shouldn't even try to be smart. Just
dump the pile of characters to stdout.

> * one potential disadvantage of setting DARCS_PAGER to cat is that
>   you lose the ability to explicitly request paging, for example,
>   hitting 'p' in interactive mode to view the current patch through
>   a pager

Exactly. So don't pipe --help output or anything else that isn't
interspersed with user input in interactive mode into a pager.


[1] Not really old-fashioned; I never used a real tty, my first
contact was via an ultra-modern vt220 clone. When they started to
deploy (hardware) X terminals at the campus, I was a little bit
upset about the fact that you had a huge 20 inch monitor with a
grey backround and only that tiny 80x24  working aread in the upper
left, so I crawled back to the room with the vt's. A year later
some friend told me how to write a proper .Xsession ;-)

No, I'm not afraid to publish my mail address on the web. I get so
much spam that a few hundered more each day won't make any noticeable
		-- Artur Grabowski

More information about the darcs-users mailing list