On Thu, 08 Aug 2013 10:58:58 +0200, Stephan Beal <sgb...@googlemail.com> wrote:

On Thu, Aug 8, 2013 at 10:47 AM, Rene <renew...@xs4all.nl> wrote:

-R seems redundant.


It's not _entirely_ redundant - in some cases it changes how the arguments
are processed. Yes, there are inconsistencies there, but some of the
argument handling relies on one or the other approach. When the app looks
for a CLI flag, e.g. -R, fossil actually removes that flag and its argument
from the global argument list, which changes the argument count, and many
of the commands use logic like if(g.argc==3){...}, so there non-obvious
side effects when changing whether a command expects -R or not. It the
context of libfossil, that's been one of the minor points on the list of
things to consider, and while i don't much care for inconsistency in
software, i _think_ that i'll end up doing it similar to how it is done

just my 2c: I _do_ care for inconsistencies in the CL user interface and the -R thing is one of them: I always can only partly remember when it's required and when not. I'm sure there are reasons why it is the way it is. but I at least would consider it a relevant step forward if the CLI would be made more consistent.
by and then I have "complained" about this in the past already.

e.g, the mixing of
-c
--c
-word
--word

style options was/partly is another issue. I would argue for reducing it to -c and --word, probably, which would also allow to tolerate omission of the blank between short option letter and its argument as in fossil diff -r1234 (just like with most unix commands). I've just checked: it seems (is this true?) that this "problem" is now only present with `fossil help' where in fact you have `--c' and `-word' type options
while otherwise it seems to be already `-c' and `--word'.

a further small issue is that
on the one hand fossil has the necessary logic to accept unique partial matches of commands (e.g. `fossil info' vs. `fossil inf' (both OK) vs `fossil in' (ambiguous)) but apparently none to do the same for long options. could the partial match logic not be extended to long options?

overall, for some people I'm sure these sort of things are not less important than a nice GUI. ;-)

j.


now. e.g. a clone implies a -R (but normally in the form of a URL), and
doesn't need a flag. The commands you listed where -R is optional almost
always derive their repo db from the current checkout (which is why -R is
not required). i'm not sure why ui/server don't require -R, but instead
take their repo filename as a non-flag argument. Historical in nature, i
guess.



--
Using Opera's revolutionary email client: http://www.opera.com/mail/
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to