Yeah, I like your idea (I'm inferring here...) of every short option
having a corresponding long option, but not every long option
necessarily having a corresponding short option.
Absorbing --trace and -q into -V/--verbose seems like a good idea.
Your "#else /* ANOTHER */" below is the way to go, IMHO. People may
want -q as a convenience, though; we should try to reserve it.
Regarding these two:
-r --read-only Make new working files read-only.
-w --writable Make new working files read-write.
Does anyone here actually use them? I've never had occasion or desire
to check out working copies anything but read/write... But maybe this
is important?
If it turns out that none of us do it, I think it may not be worth
supporting this.
-K
Bruce Korb <bkorb@cruzio.com> writes:
> I have added a few and given long names to everything.
> After all, when reading an .rc file or shell script,
> it is *far* more comprehensible with long names than
> one-letter flags that would have been something else,
> but the letter was already "taken". Flags are fine for
> typing, terrible for comprehension.
>
> /* While these are listed under `common options', we would probably
> be well-served to document which subcommands support which
> options. -Fitz */
>
>
> -? -h -H --help Help.
> #ifdef ONE_WAY
> --trace Like "cvs -t"
> -V --verbose Run with a wordily prolix verbositude.
> -q Quiet. (CVS has two levels of this, but that's
> overkill?)
> (Yes, overkill. -Fitz)
> /* OTOH: quiet, normal, verbose and trace make for
> "levels" of verbosity - Bruce */
> #else /* ANOTHER */
> -V --verbose KWd What level of chatter?
> The valid verbose option keywords are:
> quiet
> progress ** default
> detail (verbose??;)
> trace
> #endif
>
> -v VERSION Like "cvs cmd -r REV"
> --version Print program name, version, and url.
> /* Problem: "--version" and "-v" are both
> pronounced "version", but they mean different
> things. */
> /* Solution: use the term "revision" when referring
> to versioning within an SVN database. Use the term
> "version" when referring to the SVN version.
> SO: -v --version
> -r --revision REV */
>
> -D --date-ver Like "cvs cmd -D DATE"
> -l --current-dir Local dir only, do not recurse.
> (-R doesn't apply as it is the default behavior)
> -d --dest-dir Target directory (like "cvs checkout -d DIR")
> -f --force Force (probably useful for a few commands)
> -m --log-msg Use "message" for the creation log.
> -F --msg-file Read the log message from file.
>
> -p --stdout Check out/update/whatever files to standard output
> (avoids stickiness).
>
> -n --dry-run Like "cvs -n" /* then use the short option, too? */
> --no-rc Suppress reading of .svnrc.
>
> -e --editor EDNM Edit messages with EDITOR.
> -k --keyword-expansion KWd Set/Use keyword expansion
> -l --local-dir Local; run only in current working directory.
> -R --recursive Operate recursively (default).
> -T --tempdir DIR Put temporary files in TEMPDIR.
> -r --read-only Make new working files read-only.
> -w --writable Make new working files read-write.
>
> -R REPOSITORY Use REPOSITORY.
> /* Issue: -R may be unnecessary, if arguments
> are URLs anyway. See thoughts from Greg
> Stein. That would be nice, it would free up
> another option letter. */
>
> -- End of option processing (this is the standard, right?)
> (Yes, it is one of the standards) :)
Received on Sat Oct 21 14:36:12 2006