diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -1202,7 +1202,7 @@ def overriderollback(orig, ui, repo, **o if before == after: return result # no need to restore standins - merge.update(repo, node=None, branchmerge=False, force=True, + merge.update(repo, node='.', branchmerge=False, force=True, partial=lfutil.isstandin) lfdirstate = lfutil.openlfdirstate(ui, repo) diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t --- a/tests/test-largefiles-update.t +++ b/tests/test-largefiles-update.t @@ -152,6 +152,25 @@ Test that "hg rollback" restores standin $ cat .hglf/large2 3cfce6277e7668985707b6887ce56f9f62f6ccd9 +(rollback the parent of the working directory, when the parent of it +is not branch-tip) + + $ hg update -q -C 1 + $ cat .hglf/large1 + 58e24f733a964da346e2407a2bee99d9001184f5 + $ cat .hglf/large2 + 1deebade43c8c498a3c8daddac0244dc55d1331d + + $ echo normalX > normalX + $ hg add normalX + $ hg commit -m 'will be rollback-ed soon' + $ hg rollback -q + + $ cat .hglf/large1 + 58e24f733a964da346e2407a2bee99d9001184f5 + $ cat .hglf/large2 + 1deebade43c8c498a3c8daddac0244dc55d1331d + Test that "hg status" shows status of largefiles correctly just after automated commit like rebase/transplant