diff --git a/hgext3rd/fbamend/prune.py b/hgext3rd/fbamend/prune.py --- a/hgext3rd/fbamend/prune.py +++ b/hgext3rd/fbamend/prune.py @@ -121,14 +121,14 @@ prune multiple changesets with a single successor, you must pass the ``--fold`` option. """ - if opts.get('keep', False): - advice = "'hg uncommit' provides a better UI for undoing commits " \ - "while keeping the changes\n" + revs = scmutil.revrange(repo, list(revs) + opts.get('rev', [])) + if opts.get('keep', False) and list(revs) == [repo['.'].rev()]: + advice = _("'hg uncommit' provides a better UI for undoing commits " + "while keeping the changes\n") else: - advice = "'hg hide' provides a better UI for hiding commits\n" + advice = _("'hg hide' provides a better UI for hiding commits\n") ui.warn(_("advice: %s") % advice) - revs = scmutil.revrange(repo, list(revs) + opts.get('rev', [])) succs = opts.get('succ', []) bookmarks = set(opts.get('bookmark', ())) metadata = _getmetadata(**opts) diff --git a/tests/test-fbamend-strip.t b/tests/test-fbamend-strip.t new file mode 100644 --- /dev/null +++ b/tests/test-fbamend-strip.t @@ -0,0 +1,30 @@ + $ cat >> $HGRCPATH << EOF + > [extensions] + > fbamend=$TESTDIR/../hgext3rd/fbamend + > strip= + > drawdag=$RUNTESTDIR/drawdag.py + > [experimental] + > evolution=createmarkers + > EOF + + $ hg init + $ hg debugdrawdag <<'EOS' + > D E + > | | + > B C + > |/ + > A + > EOS + + $ hg update D -q + $ hg strip D --keep + advice: 'hg uncommit' provides a better UI for undoing commits while keeping the changes + 1 changesets pruned + $ hg strip C + advice: 'hg hide' provides a better UI for hiding commits + 2 changesets pruned + $ hg strip B + advice: 'hg hide' provides a better UI for hiding commits + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + working directory now at 426bada5c675 + 2 changesets pruned