diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -713,11 +713,12 @@ class localrepository(repo.repository): try: args = self.opener("undo.desc", "r").read().splitlines() if len(args) >= 3 and self.ui.verbose: - desc = _("rolling back to revision %s" + desc = _("repository tip rolled back to revision %s" " (undo %s: %s)\n") % ( int(args[0]) - 1, args[1], args[2]) elif len(args) >= 2: - desc = _("rolling back to revision %s (undo %s)\n") % ( + desc = _("repository tip rolled back to revision %s" + " (undo %s)\n") % ( int(args[0]) - 1, args[1]) except IOError: desc = _("rolling back unknown transaction\n") @@ -740,6 +741,9 @@ class localrepository(repo.repository): self.invalidate() self.dirstate.invalidate() self.destroyed() + self.ui.status(_("working directory now based on " + "revision %s\n") % ( + _(' and ').join(str(p.rev()) for p in self.parents()))) else: self.ui.warn(_("no rollback information available\n")) return 1 diff --git a/tests/test-acl.t b/tests/test-acl.t --- a/tests/test-acl.t +++ b/tests/test-acl.t @@ -142,7 +142,8 @@ Extension disabled for lack of a hook added 3 changesets with 3 changes to 3 files updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -221,7 +222,8 @@ Extension disabled for lack of acl.sourc acl: changes have source "push" - skipping updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -310,7 +312,8 @@ No [acl.allow]/[acl.deny] acl: allowing changeset 911600dab2ae updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -945,7 +948,8 @@ barney is allowed everywhere acl: allowing changeset 911600dab2ae updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -1341,7 +1345,8 @@ acl.config can set only [acl.allow]/[acl acl: allowing changeset 911600dab2ae updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -1438,7 +1443,8 @@ fred is always allowed acl: allowing changeset 911600dab2ae updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 @@ -1628,7 +1634,8 @@ OS-level groups acl: allowing changeset 911600dab2ae updating the branch cache checking for updated bookmarks - rolling back to revision 0 (undo push) + repository tip rolled back to revision 0 (undo push) + working directory now based on revision 0 0:6675d58eff77 diff --git a/tests/test-backout.t b/tests/test-backout.t --- a/tests/test-backout.t +++ b/tests/test-backout.t @@ -204,7 +204,8 @@ backout with valid parent should be ok changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e $ hg rollback - rolling back to revision 4 (undo commit) + repository tip rolled back to revision 4 (undo commit) + working directory now based on revision 4 $ hg update -C 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-bookmarks-strip.t b/tests/test-bookmarks-strip.t --- a/tests/test-bookmarks-strip.t +++ b/tests/test-bookmarks-strip.t @@ -77,7 +77,8 @@ immediate rollback and reentrancy issue adding b $ hg bookmarks markb $ hg rollback - rolling back to revision 0 (undo commit) + repository tip rolled back to revision 0 (undo commit) + working directory now based on revision 0 are you there? diff --git a/tests/test-bundle-r.t b/tests/test-bundle-r.t --- a/tests/test-bundle-r.t +++ b/tests/test-bundle-r.t @@ -200,7 +200,8 @@ checking files 4 files, 9 changesets, 7 total revisions $ hg rollback - rolling back to revision 4 (undo pull) + repository tip rolled back to revision 4 (undo pull) + working directory now based on revision -1 $ cd .. should fail @@ -276,7 +277,8 @@ revision 8 checking files 4 files, 9 changesets, 7 total revisions $ hg rollback - rolling back to revision 2 (undo unbundle) + repository tip rolled back to revision 2 (undo unbundle) + working directory now based on revision 2 revision 2 @@ -300,7 +302,8 @@ revision 4 checking files 2 files, 5 changesets, 5 total revisions $ hg rollback - rolling back to revision 2 (undo unbundle) + repository tip rolled back to revision 2 (undo unbundle) + working directory now based on revision 2 $ hg unbundle ../test-bundle-branch2.hg adding changesets adding manifests @@ -319,7 +322,8 @@ revision 6 checking files 3 files, 7 changesets, 6 total revisions $ hg rollback - rolling back to revision 2 (undo unbundle) + repository tip rolled back to revision 2 (undo unbundle) + working directory now based on revision 2 $ hg unbundle ../test-bundle-cset-7.hg adding changesets adding manifests diff --git a/tests/test-bundle.t b/tests/test-bundle.t --- a/tests/test-bundle.t +++ b/tests/test-bundle.t @@ -89,7 +89,8 @@ Pull full.hg into empty (using --cwd) Rollback empty $ hg -R empty rollback - rolling back to revision -1 (undo pull) + repository tip rolled back to revision -1 (undo pull) + working directory now based on revision -1 Pull full.hg into empty again (using --cwd) @@ -119,7 +120,8 @@ Pull full.hg into empty (using -R) Rollback empty $ hg -R empty rollback - rolling back to revision -1 (undo pull) + repository tip rolled back to revision -1 (undo pull) + working directory now based on revision -1 Pull full.hg into empty again (using -R) @@ -216,7 +218,8 @@ hg -R bundle://../full.hg verify Rollback empty $ hg rollback - rolling back to revision -1 (undo pull) + repository tip rolled back to revision -1 (undo pull) + working directory now based on revision -1 $ cd .. Log -R bundle:empty+full.hg diff --git a/tests/test-convert-cvs.t b/tests/test-convert-cvs.t --- a/tests/test-convert-cvs.t +++ b/tests/test-convert-cvs.t @@ -111,7 +111,8 @@ convert fresh repo with --filemap 2 Initial revision 1 import filtering out empty revision - rolling back to revision 0 (undo commit) + repository tip rolled back to revision 0 (undo commit) + working directory now based on revision -1 0 ci0 updating tags $ hgcat b/c diff --git a/tests/test-diff-color.t b/tests/test-diff-color.t --- a/tests/test-diff-color.t +++ b/tests/test-diff-color.t @@ -97,7 +97,8 @@ record $ echo "[extensions]" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg rollback - rolling back to revision 0 (undo commit) + repository tip rolled back to revision 0 (undo commit) + working directory now based on revision 0 qrecord diff --git a/tests/test-hook.t b/tests/test-hook.t --- a/tests/test-hook.t +++ b/tests/test-hook.t @@ -221,7 +221,8 @@ outgoing hooks can see env vars added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) $ hg rollback - rolling back to revision 3 (undo pull) + repository tip rolled back to revision 3 (undo pull) + working directory now based on revision 0 preoutgoing hook can prevent outgoing changes diff --git a/tests/test-import.t b/tests/test-import.t --- a/tests/test-import.t +++ b/tests/test-import.t @@ -364,7 +364,8 @@ patches: import patch1 patch2; rollback applying ../patch2 applied 1d4bd90af0e4 $ hg --cwd b rollback - rolling back to revision 1 (undo commit) + repository tip rolled back to revision 1 (undo commit) + working directory now based on revision 1 $ hg --cwd b parents --template 'parent: {rev}\n' parent: 1 $ rm -r b diff --git a/tests/test-keyword.t b/tests/test-keyword.t --- a/tests/test-keyword.t +++ b/tests/test-keyword.t @@ -352,7 +352,8 @@ Diff remaining chunk +bar $ hg rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 Record all chunks in file a @@ -394,7 +395,8 @@ rollback and revert expansion xxx $ bar $ hg --verbose rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 overwriting a expanding keywords $ hg status a M a @@ -411,7 +413,8 @@ rollback and revert expansion $ cat z $Id: z,v 45a5d3adce53 1970/01/01 00:00:00 test $ $ hg --verbose rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 overwriting z shrinking keywords Only z should be overwritten @@ -437,7 +440,8 @@ record added file alone committed changeset 3:899491280810 overwriting r expanding keywords $ hg --verbose rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 overwriting r shrinking keywords $ hg forget r $ rm msg r @@ -601,7 +605,8 @@ Diff specific revision Status after rollback: $ hg rollback - rolling back to revision 1 (undo commit) + repository tip rolled back to revision 1 (undo commit) + working directory now based on revision 1 $ hg status A c $ hg update --clean @@ -622,7 +627,8 @@ cp symlink file; hg cp -A symlink file ( $ rm x $ hg rollback - rolling back to revision 1 (undo commit) + repository tip rolled back to revision 1 (undo commit) + working directory now based on revision 1 $ hg update --clean 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm i symignored @@ -735,7 +741,8 @@ remove with status checks Rollback, revert, and check expansion $ hg rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 $ hg status R a ? c @@ -811,7 +818,8 @@ Imported patch should not be rejected ignore $Id$ $ hg rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 $ hg update --clean 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-newbranch.t b/tests/test-newbranch.t --- a/tests/test-newbranch.t +++ b/tests/test-newbranch.t @@ -105,7 +105,8 @@ There should be only one default branch Test for invalid branch cache: $ hg rollback - rolling back to revision 4 (undo commit) + repository tip rolled back to revision 4 (undo commit) + working directory now based on revision 4 and 3 $ cp $branchcache .hg/bc-invalid diff --git a/tests/test-notify.t b/tests/test-notify.t --- a/tests/test-notify.t +++ b/tests/test-notify.t @@ -152,7 +152,8 @@ pull (minimal config) fail for config file is missing $ hg --cwd b rollback - rolling back to revision 0 (undo pull) + repository tip rolled back to revision 0 (undo pull) + working directory now based on revision 0 $ hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed pull failed $ touch ".notify.conf" @@ -160,7 +161,8 @@ fail for config file is missing pull $ hg --cwd b rollback - rolling back to revision 0 (undo pull) + repository tip rolled back to revision 0 (undo pull) + working directory now based on revision 0 $ hg --traceback --cwd b pull ../a | \ > python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' pulling from ../a @@ -204,7 +206,8 @@ pull pull $ hg --cwd b rollback - rolling back to revision 0 (undo pull) + repository tip rolled back to revision 0 (undo pull) + working directory now based on revision 0 $ hg --traceback --cwd b pull ../a | \ > python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' pulling from ../a diff --git a/tests/test-pull-r.t b/tests/test-pull-r.t --- a/tests/test-pull-r.t +++ b/tests/test-pull-r.t @@ -42,7 +42,8 @@ Pull multiple revisions with update: $ hg -q parents 0:bbd179dfa0a7 $ hg rollback - rolling back to revision -1 (undo pull) + repository tip rolled back to revision -1 (undo pull) + working directory now based on revision -1 $ hg pull -qr 0 ../repo $ hg log diff --git a/tests/test-pull.t b/tests/test-pull.t --- a/tests/test-pull.t +++ b/tests/test-pull.t @@ -49,7 +49,7 @@ no changes found $ hg rollback --dry-run --verbose - rolling back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/) + repository tip rolled back to revision -1 (undo pull: http://foo:***@localhost:$HGPORT/) Issue622: hg init && hg pull -u URL doesn't checkout default branch diff --git a/tests/test-push-http.t b/tests/test-push-http.t --- a/tests/test-push-http.t +++ b/tests/test-push-http.t @@ -63,7 +63,8 @@ expect success remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_URL=remote:http:*: (glob) % serve errors $ hg rollback - rolling back to revision 0 (undo serve) + repository tip rolled back to revision 0 (undo serve) + working directory now based on revision 0 expect authorization error: all users denied diff --git a/tests/test-rename-after-merge.t b/tests/test-rename-after-merge.t --- a/tests/test-rename-after-merge.t +++ b/tests/test-rename-after-merge.t @@ -97,7 +97,8 @@ Commit issue 1476: copies: c2 (c1) $ hg rollback - rolling back to revision 2 (undo commit) + repository tip rolled back to revision 2 (undo commit) + working directory now based on revision 2 and 1 $ hg up -C . 2 files updated, 0 files merged, 2 files removed, 0 files unresolved diff --git a/tests/test-rollback.t b/tests/test-rollback.t --- a/tests/test-rollback.t +++ b/tests/test-rollback.t @@ -20,7 +20,8 @@ $ hg status $ hg rollback - rolling back to revision -1 (undo commit) + repository tip rolled back to revision -1 (undo commit) + working directory now based on revision -1 $ hg verify checking changesets checking manifests @@ -37,7 +38,8 @@ Test issue 902 $ hg branch test marked working directory as branch test $ hg rollback - rolling back to revision -1 (undo commit) + repository tip rolled back to revision -1 (undo commit) + working directory now based on revision -1 $ hg branch default @@ -54,8 +56,9 @@ Test rollback of hg before issue 902 was marked working directory as branch test $ rm .hg/undo.branch $ hg rollback - rolling back to revision -1 (undo commit) + repository tip rolled back to revision -1 (undo commit) Named branch could not be reset, current branch still is: test + working directory now based on revision -1 $ hg branch test diff --git a/tests/test-tag.t b/tests/test-tag.t --- a/tests/test-tag.t +++ b/tests/test-tag.t @@ -227,7 +227,8 @@ local tag with .hgtags modified $ hg tag hgtags-modified $ hg rollback - rolling back to revision 13 (undo commit) + repository tip rolled back to revision 13 (undo commit) + working directory now based on revision 13 $ hg st M .hgtags ? .hgtags.orig diff --git a/tests/test-tags.t b/tests/test-tags.t --- a/tests/test-tags.t +++ b/tests/test-tags.t @@ -265,7 +265,8 @@ Remove nonexistent tag: Undo a tag with rollback: $ hg rollback # destroy rev 5 (restore bar) - rolling back to revision 4 (undo commit) + repository tip rolled back to revision 4 (undo commit) + working directory now based on revision 4 $ hg tags tip 4:0c192d7d5e6b bar 1:78391a272241 diff --git a/tests/test-url-rev.t b/tests/test-url-rev.t --- a/tests/test-url-rev.t +++ b/tests/test-url-rev.t @@ -101,7 +101,8 @@ Changing original repo: $ cd clone $ hg rollback - rolling back to revision 1 (undo push) + repository tip rolled back to revision 1 (undo push) + working directory now based on revision 1 $ hg -q incoming 2:faba9097cad4 @@ -145,7 +146,8 @@ No new revs, no update: 0:1f0dee641bb7 $ hg rollback - rolling back to revision 1 (undo pull) + repository tip rolled back to revision 1 (undo pull) + working directory now based on revision 1 $ hg up -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -166,7 +168,8 @@ Pull -u takes us back to branch foo: summary: new head of branch foo $ hg rollback - rolling back to revision 1 (undo pull) + repository tip rolled back to revision 1 (undo pull) + working directory now based on revision 0 $ hg up -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved