"bzr commit" should offer --targets like svn(1)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Low
|
Unassigned |
Bug Description
i'm the main author of a GUI for multiple SCM systems (http://
hydrogen:~$ svn commit -h
commit (ci): Send changes from your working copy to the repository.
usage: commit [PATH...]
A log message must be provided, but it can be empty. If it is not
given by a --message or --file option, an editor will be started.
Valid options:
-m [--message] arg : specify commit message ARG
-F [--file] arg : read data from file ARG
-q [--quiet] : print as little as possible
-N [--non-recursive] : operate on single directory only
--targets arg : pass contents of file ARG as additional args
--force-log : force validity of log message source
--username arg : specify a username ARG
--password arg : specify a password ARG
--no-auth-cache : do not cache authentication tokens
--non-interactive : do no interactive prompting
--editor-cmd arg : use ARG as external editor
--encoding arg : treat value as being in charset encoding ARG
--config-dir arg : read user configuration files from directory ARG
(i'd also mention that i find bzr(1) help output better-worded. there's a lot of vagueness and ambiguity in the svn(1) help output, so don't imitate that!)
i know you're probably thinking "who needs to commit more files than their OS will accept as command-line arguments?", but my GUI front-end didn't always support this feature (available in svn(1) and bk(1) but not cvs(1)) and i actually had bug reports from people who ended up with partial checkins because some arguments were silently dropped. so it does seem to happen that end-users want to check in lots of files, and from my position in the middle, it's nice to know that one mechanism (--targets) will always do the right thing. (SCM is perfectly happy letting you commit 2000 files in one revision, and leaving 2 others uncommitted, if that's your decision.
we could add a work-around to SCM for the most common "lots of files" situation where you do actually want to check everything in (because you've done a global find/replace across lots of files but don't have any other changes and want to get the rename checked in before doing any more work), but the right solution is to add --targets to bzr(1).
tags: | added: mi |
tags: |
added: ui removed: mi |
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
Agree it would be useful; should require a small change in cmd_commit
This should probably be generalized to many commands that take a list of filenames - add, rm, diff, etc?