Julian Foad wrote:
> Hyrum K. Wright wrote:
>> This patch fixes a bug where multiple --target switches fail silently
>> for all but the final one. Instead, this patch concatenates all targets
>> specified by multiple --target switches into one array.
> Ah, but is it a bug?
> We intentionally ignore all but the last of multiple occurrences of an
> option-taking-an-argument (except "-r"/"--revision"), perhaps in order
> to let the user have an alias which begins with some default option
> value and yet can be overridden with another value later on the command
> line. e.g.
> alias mysvn='svn --config-dir=~/my-svn-config/'
> mysvn diff # Uses ~/my-svn-config/
> mysvn diff --config-dir=~/.subversion/ # No error; uses ~/.subversion/
This argument (and behavior) makes sense for nearly all of our options that
accept arguments, but --targets is, in this respect, special, because it
exists only as an alternative mechanism for specifying command arguments,
which themselves don't obey any sort of "only the last one counts" kinda
policy. Also note that we don't go out of our way to have both --quiet and
--verbose, to have both --recursive and --non-recursive. In other words,
overridability of previously specified command-line options is either not
truly one of our design goals, or a far-from-satisfied one.
I guess I can twist my head just so in order to envision someone with an alias:
alias svnup='svn update --targets /path/to/things/i/update'
And then later, wishing to update something else, doing 'svnup --targets
/some/other/targets'. But by the time I've twisted my head that far,
there's precious little oxygen getting to my brain and what I envision isn't
really so trustworthy. :-P
C. Michael Pilato <firstname.lastname@example.org>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on Thu Jun 1 16:50:14 2006