Comments
Patch
@@ -392,6 +392,15 @@
orig(node)
+ # ATTENTION: "ctx.files()" may differ from "repo[node].files()"
+ # because files coming from the 2nd parent are omitted in the latter.
+ #
+ # The former should be used to get targets of "synclfdirstate",
+ # because such files:
+ # - are marked as "a" by "patch.patch()" (e.g. via transplant), and
+ # - have to be marked as "n" after commit, but
+ # - aren't listed in "repo[node].files()"
+
lfdirstate = openlfdirstate(repo.ui, repo)
for f in ctx.files():
if isstandin(f):
@@ -1169,13 +1169,8 @@
def overridetransplant(orig, ui, repo, *revs, **opts):
try:
- oldstandins = lfutil.getstandinsstate(repo)
repo._istransplanting = True
result = orig(ui, repo, *revs, **opts)
- newstandins = lfutil.getstandinsstate(repo)
- filelist = lfutil.getlfilestoupdate(oldstandins, newstandins)
- lfcommands.updatelfiles(repo.ui, repo, filelist=filelist,
- printmessage=True)
finally:
repo._istransplanting = False
return result
@@ -1740,8 +1740,6 @@
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
- getting changed largefiles
- 0 largefiles updated, 0 removed
$ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b