[rfc] bzr --cd=/any/where rocks

Alexander Belchenko bialix at ukr.net
Wed Jan 28 06:02:37 GMT 2009


Colin D Bennett пишет:
> On Tue, 27 Jan 2009 23:52:08 +0100
> Jelmer Vernooij <jelmer at samba.org> wrote:
> 
>> On Wed, 2009-01-28 at 00:37 +0200, Marius Kruger wrote:
>>> 2009/1/28 Jelmer Vernooij <jelmer at samba.org>
>>> thats sort of my point: some commands take a "directory" option and
>>> others
>>> take a -d option, and some does not implement something like this eg.
>>> missing
>> These options are the same thing -d is the short option name and
>> --directory is the long option name. I don't think there is
>> inconsistency in how this option works for the different commands,
>> except that it is not yet available for all commands.
> 
> Yes, I posted about this a while back.  It is really confusing to me at
> times when to specify a directory as a plain argument and when to use
> '-d' as the option.  For instance:
> 
> export
>   This command takes a destination as the first argument, and the
>   source as the second argument (!).  I use this often enough that I
>   can remember this oddity, and I understand the reasoning behind it
>   (the first argument, destination, is required, but the second
>   argument, source, is optional) but it still seems like a wart.
> 
> switch
>   I'd like to switch a checkout to another branch with fewer keystrokes
>   when I'm in the parent directory, for instance.  This command should
>   support the '-d' / '--directory' option.
> 
> missing
>   As Marius pointed out, the 'missing' command should support the '-d'
>   option.
> 
> tags vs. info/version-info
>   I think the 'tags' command and the 'info' and 'version-info' commands
>   are similar in purpose, but for some reason, 'tags' uses the '-d'
>   option to specify the subject to operate on, while 'info' and
>   'version-info' accept a plain argument to specify the subject.
> 
> ls vs. ignored
>   While 'ls' accepts a path, the similarly-used 'ignored' command
>   accepts neither a path argument nor the '-d' option.
> 
> I think the appropriate solution is to make '-d' / '--directory' an
> option that is accepted by all commands that are affected by the
> current directory.  The semantics of this option should be such that it
> is the same as if the specified directory was the current directory for
> the purposes of inferring the branch/tree/repository.  
> 
> Basically, it should never be *required* to change the current
> directory in order to execute a bzr command; the '-d' option should be
> an alternative to changing to that directory.
> 
> I wonder whether references to files on the command line should then be
> interpreted as relative to the '--directory' value specified (acting
> as if the user had actually changed the current directory to that
> directory), or not.

Also status and revert do different things when called with and without path-to-tree
argument.

And on windows the shell is not so powerful.




More information about the bazaar mailing list