strip: drop -b/--backup option (BC)

This option had very limited utility and counterintuitive behavior and
collided unfortunately with the much later -B option.

Normally we would no-op such a feature so as to avoid annoying existing
scripts. However, we have to weigh that against the silent misbehavior
that results when users mistakenly intended to use -B: because -b
takes no arg, the bookmark gets interpreted as a normal revision, and
gets stripped without removing the associated bookmark, while also not
backing up the revision in question. A no-op behavior or warning would only
remove the latter half of the misadventure.

The only users I can find of this feature were using it in error and
have since stopped. The few (if any) remaining users of this feature
would be better served by --no-backup.
This commit is contained in:
Matt Mackall 2014-07-11 18:04:51 -05:00
parent 3b4d556fee
commit 87914088c5
2 changed files with 25 additions and 4 deletions

View File

@ -78,9 +78,6 @@ def strip(ui, repo, revs, update=True, backup="all", force=None, bookmark=None):
'option)'), _('REV')),
('f', 'force', None, _('force removal of changesets, discard '
'uncommitted changes (no backup)')),
('b', 'backup', None, _('bundle only changesets with local revision'
' number greater than REV which are not'
' descendants of REV (DEPRECATED)')),
('', 'no-backup', None, _('no backups')),
('', 'nobackup', None, _('no backups (DEPRECATED)')),
('n', '', None, _('ignored (DEPRECATED)')),

View File

@ -524,4 +524,28 @@ test hg strip -B bookmark
$ hg bookmarks
* B 6:ff43616e5d0f
$ cd ..
Make sure no one adds back a -b option:
$ hg strip -b tip
hg strip: option -b not recognized
hg strip [-k] [-f] [-n] [-B bookmark] [-r] REV...
strip changesets and all their descendants from the repository
use "hg help -e strip" to show help for the strip extension
options:
-r --rev REV [+] strip specified revision (optional, can specify revisions
without this option)
-f --force force removal of changesets, discard uncommitted changes
(no backup)
--no-backup no backups
-k --keep do not modify working copy during strip
-B --bookmark VALUE remove revs only reachable from given bookmark
--mq operate on patch repository
[+] marked option can be specified multiple times
use "hg help strip" to show the full help text
[255]