[darcs-devel] [issue2394] optimize and convert options are actually sub-commands
Ben Franksen
bugs at darcs.net
Thu May 29 20:43:33 UTC 2014
Ben Franksen <benjamin.franksen at helmholtz-berlin.de> added the comment:
Yes, that's right, there is a default action. There are also real
options: --upgrade does something in addition to the default or
sub-commands, likewise --http. It is only --pristine, --patch-index, and
--disable-patch-index, that are mutually exclusive, as well as
--compress and --uncompress. Furthermore, the first three sub-commands
do respect --upgrade and --http, but do *not* respect --reorder,
--compress, --uncompress, or --relink. I have no idea why this is so.
The current behavior can be mapped to a command tree like this:
optimize:
options: --upgrade, --http, --reorder, --relink
subcommands:
pristine,
patch-index,
no-patch-index:
options: --upgrade, --http
compress,
uncompress:
options: --upgrade, --http, --reorder, --relink
This strikes me as much more complicated than necessary. A much simpler
solution would be to allow mixing everything as much as possible.
Particularly, each option will do something in addition to the default
and the other options. There would be only two mutually exclusive cases:
--patch-index vs. --no-patch-index, and --compress vs. --uncompress.
Both are easily recognized as opposite option pairs.
This will make both the UI and the implementation much clearer. I think
I'll send a patch for the details rather than paste the code here.
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue2394>
__________________________________
More information about the darcs-devel
mailing list