Note: There is additional discussion on this issue on the mailing list.
My initial reaction here was to agree with Alexander. My concern was consistency: it's nice to do things as comprehensively as possible, but if that means being inconsistent with other bzr commands, then the patch would be a local optimisation at the expense of the overall UI. Digging deeper though, I think Spencer's approach is sound and indeed consistent with other parts of Bazaar ...
For example, if I have a branch with 3 files called a, b and c, and run 'bzr remove --keep a d c", I get the following output:
d is not versioned.
removed c
removed a
So remove works as Spencer is suggesting. I'd like to say 'add' works the same way but it arguably has a bug. Consider:
$ touch a b c
$ bzr add a d c
added a
bzr: ERROR: No such file: u'/home/ian/tmp/play/testmulti/d'
$ bzr st
unknown:
a
b
c
So add is reporting partial success when if fact nothing happened. I'll raise a bug for that.
Note: There is additional discussion on this issue on the mailing list.
My initial reaction here was to agree with Alexander. My concern was consistency: it's nice to do things as comprehensively as possible, but if that means being inconsistent with other bzr commands, then the patch would be a local optimisation at the expense of the overall UI. Digging deeper though, I think Spencer's approach is sound and indeed consistent with other parts of Bazaar ...
For example, if I have a branch with 3 files called a, b and c, and run 'bzr remove --keep a d c", I get the following output:
d is not versioned.
removed c
removed a
So remove works as Spencer is suggesting. I'd like to say 'add' works the same way but it arguably has a bug. Consider:
$ touch a b c ian/tmp/ play/testmulti/ d'
$ bzr add a d c
added a
bzr: ERROR: No such file: u'/home/
$ bzr st
unknown:
a
b
c
So add is reporting partial success when if fact nothing happened. I'll raise a bug for that.