diff --git a/hgext3rd/undo.py b/hgext3rd/undo.py --- a/hgext3rd/undo.py +++ b/hgext3rd/undo.py @@ -791,8 +791,8 @@ nodedict["workingparent"]) if not keep: if not branchcommits or workingcopyparent in branchcommits: - hg.updatetotally(ui, repo, workingcopyparent, workingcopyparent, - clean=False, updatecheck='abort') + # bailifchanged is run, so this should be safe + hg.clean(repo, workingcopyparent, show_stats=False) elif not branchcommits or workingcopyparent in branchcommits: # keeps working copy files prednode = bin(workingcopyparent) @@ -835,6 +835,17 @@ smarthide(repo, addedrevs, localremoves, local=True) revealcommits(repo, localremoves) + # informative output + time = _readnode(repo, "date.i", nodedict["date"]) + time = util.datestr([float(x) for x in time.split(" ")]) + + nodedict = _readindex(repo, reverseindex - 1) + commandstr = _readnode(repo, "command.i", nodedict["command"]) + commandlist = commandstr.split("\0")[1:] + commandstr = " ".join(commandlist) + uimessage = 'undone to %s, before %s\n' % (time, commandstr) + repo.ui.status(_(uimessage)) + def _computerelative(repo, reverseindex, absolute=False, branch=""): # allows for relative undos using # redonode storage diff --git a/tests/test-fold-undo.t b/tests/test-fold-undo.t --- a/tests/test-fold-undo.t +++ b/tests/test-fold-undo.t @@ -62,7 +62,7 @@ Do an undo $ hg undo - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before fold --exact 7 6 (glob) $ showgraph @ 7 r7 | diff --git a/tests/test-undo.t b/tests/test-undo.t --- a/tests/test-undo.t +++ b/tests/test-undo.t @@ -210,8 +210,7 @@ hg undo command tests $ hg undo - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved - (leaving bookmark master) + undone to *, before ci -ma5 (glob) $ hg log -G -T compact -l2 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss @@ -221,8 +220,9 @@ ~ $ hg update 0a3dd3e15e65 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + (leaving bookmark master) $ hg undo - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before update 0a3dd3e15e65 (glob) $ hg log -G -T compact -l1 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss @@ -234,7 +234,7 @@ | cmiss ~ $ hg undo - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before commit --amend (glob) $ hg log -G -T compact -l4 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss @@ -258,15 +258,14 @@ | cmiss ~ $ hg undo - 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + undone to *, before graft 296fda51a303 (glob) $ hg log -G -T compact -l1 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss ~ $ hg book test $ hg undo - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - (leaving bookmark test) + undone to *, before book test (glob) $ hg bookmarks feature1 2:49cdb4091aca feature2 7:296fda51a303 @@ -274,21 +273,21 @@ hg undo with negative step $ hg undo -n -1 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo (glob) $ hg log -G -T compact -l1 @ 9[tip][master,test] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss ~ $ hg undo - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before book test (glob) $ hg log -G -T compact -l1 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss ~ $ hg undo -n 5 - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before undo (glob) $ hg undo -n -5 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before book test (glob) $ hg log -G -T compact -l1 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss @@ -299,21 +298,21 @@ hg undo --absolute tests $ hg undo -a - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before undo -n -5 (glob) $ hg undo -n -1 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -a (glob) $ hg undo -a - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before undo -n -1 (glob) $ hg undo -n -1 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -a (glob) $ hg undo -n 5 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo (glob) $ hg log -G -T compact -l1 @ 9[tip][master,test] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss ~ $ hg undo -a - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -n 5 (glob) $ hg log -G -T compact -l1 @ 9[tip][master] 1dafc0b43612 1970-01-01 00:00 +0000 test | cmiss @@ -330,9 +329,9 @@ abort: attempted risky undo across missing history [255] $ hg undo -a -n 25 -f - 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before ci -md (glob) $ hg undo -a - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -a -n 25 -f (glob) hg undo --keep tests $ touch kfl1 && hg add kfl1 @@ -341,6 +340,7 @@ $ hg commit --amend $ hg st $ hg undo --keep + undone to *, before commit --amend (glob) $ hg st A kfl1 $ hg commit --amend @@ -358,7 +358,7 @@ > fbamend = $TESTDIR/../hgext3rd/fbamend/ > EOF $ hg undo - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before commit --amend (glob) $ hg sl --all --hidden -T "{node|short} {if(undosuccessors, label('sl.undo', '(Undone as {join(undosuccessors% \'{shortest(undosuccessor, 6)}\', ', ')})'))}" x db3723da827c | @@ -412,9 +412,9 @@ c9476255bc2a68672c844021397838ff4eeefcda 1dafc0b436123cab96f82a8e9e8d1d42c0301aaa 0 (Thu Jan 01 00:00:06 1970 +0000) {'operation': 'undo', 'user': 'test'} f86734247df6db66a810e549cc938a72cd5c6d1a d0fdb9510dbf78c1a7e62c3e6628ff1f978f87ea 75f63379f12bf02d40fe7444587ad67be9ae81b8 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'split', 'user': 'test'} $ hg undo - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before split --quiet (glob) $ hg undo -n -1 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo (glob) $ hg debugobsolete | tail -5 d0fdb9510dbf78c1a7e62c3e6628ff1f978f87ea f86734247df6db66a810e549cc938a72cd5c6d1a 0 (Thu Jan 01 00:00:01 1970 +0000) {'operation': 'undo', 'user': 'test'} 75f63379f12bf02d40fe7444587ad67be9ae81b8 0 {d0fdb9510dbf78c1a7e62c3e6628ff1f978f87ea} (Thu Jan 01 00:00:01 1970 +0000) {'operation': 'undo', 'user': 'test'} @@ -574,11 +574,11 @@ (leaving bookmark newbook) 3 changes within local scope: commit, book, update $ hg undo -b 75f63379f12b - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before update null (glob) $ hg undo -b 75f63379f12b - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before ci -moldbranch (glob) $ hg undo -b 75f63379f12b - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before book oldbook (glob) $ hg log -l 2 changeset: 20:805791ba4bcd bookmark: newbook @@ -617,7 +617,7 @@ summary: newfiles $ hg undo -b 3532 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before rebase -s 8057 -d 75f6 (glob) $ hg log -l 2 changeset: 20:805791ba4bcd bookmark: newbook @@ -639,7 +639,7 @@ Check local undo works forward $ hg undo -n -1 -b 3532 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -b 3532 (glob) $ hg log -l 2 changeset: 21:35324a911c0d bookmark: newbook @@ -659,13 +659,13 @@ $ hg log -r . -T {node} 3ee6a6880888df9e48cdc568b5e835bd3087f8cb (no-eol) $ hg undo -b 3532 - 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + undone to *, before ci -m a9 (glob) $ hg undo -b 3532 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -n -1 -b 3532 (glob) $ hg undo -n -1 -b 75f6 - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before ci -m a9 (glob) $ hg undo -n -1 -b 75f6 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before undo -b 3532 (glob) $ hg log -l 2 changeset: 22:3ee6a6880888 tag: tip @@ -692,7 +692,7 @@ working directory now at 75f63379f12b 1 changesets pruned $ hg undo -b 3532 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + undone to *, before strip 3ee6 (glob) $ hg log -r . -T {node} 3ee6a6880888df9e48cdc568b5e835bd3087f8cb (no-eol) $ cat >> $HGRCPATH <