Comments
Patch
@@ -447,18 +447,6 @@
ui = repo.ui
- # Case 0: Automated committing
- #
- # While automated committing (like rebase, transplant
- # and so on), this code path is used to avoid:
- # (1) updating standins, because standins should
- # be already updated at this point
- # (2) aborting when standins are matched by "match",
- # because automated committing may specify them directly
- #
- if getattr(repo, "_istransplanting", False):
- return match
-
# Case 1: user calls commit with no specific files or
# include/exclude patterns: refresh and commit all files that
# are "dirty".
@@ -1168,11 +1168,14 @@
return result
def overridetransplant(orig, ui, repo, *revs, **opts):
+ resuming = opts.get('continue')
+ repo._lfcommithooks.append(lfutil.automatedcommithook(resuming))
try:
repo._istransplanting = True
result = orig(ui, repo, *revs, **opts)
finally:
repo._istransplanting = False
+ repo._lfcommithooks.pop()
return result
def overridecat(orig, ui, repo, file1, *pats, **opts):
@@ -560,6 +560,20 @@
$ cat largeX
largeX
+Test that transplant updates standins for manually modified largefiles
+at the 1st commit of resuming.
+
+ $ echo "manually modified before 'hg transplant --continue'" > large1
+ $ hg transplant --continue
+ 07d6153b5c04 transplanted as f1bf30eb88cc
+ $ hg diff -c tip .hglf/large1 | grep '^[+-][0-9a-z]'
+ -e5bb990443d6a92aaf7223813720f7566c9dd05b
+ +6a4f36d4075fbe0f30ec1d26ca44e63c05903671
+ $ rm -f large1
+ $ hg update -q -C tip
+ $ cat large1
+ manually modified before 'hg transplant --continue'
+
Test that "hg status" doesn't show removal of largefiles not managed
in the target context.