diff --git a/hgext3rd/pushrebase.py b/hgext3rd/pushrebase.py --- a/hgext3rd/pushrebase.py +++ b/hgext3rd/pushrebase.py @@ -524,7 +524,16 @@ # Computes a list of all the incoming file changes bundlefiles = set() for bundlerev in revs: - bundlefiles.update(bundlerev.files()) + revfiles = bundlerev.files() + bundlefiles.update(revfiles) + + # Also include sources of renames. + revmf = bundlerev.manifest() + for f in revfiles: + if f in revmf: + renamed = bundlerev[f].renamed() + if renamed: + bundlefiles.add(renamed[0]) def findconflicts(): # Returns all the files touched in the bundle that are also touched diff --git a/tests/test-pushrebase.t b/tests/test-pushrebase.t --- a/tests/test-pushrebase.t +++ b/tests/test-pushrebase.t @@ -931,59 +931,10 @@ > EOF $ hg push -r . --to default - pushing to $TESTTMP/server2 + pushing to $TESTTMP/server2 (glob) searching for changes - pushing 1 changeset: - 40d149b24655 Copy A to B - 2 new changesets from the server will be downloaded - adding changesets - adding manifests - adding file changes - added 2 changesets with 2 changes to 2 files (+1 heads) - 1 new obsolescence markers - obsoleted 1 changesets - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - -SUBOPTIMAL: The pushrebased changest lost the content of "Modify A": + abort: conflicting changes in: + A + + [255] - $ hg log -Gr 'all()' -p --config diff.git=1 - @ changeset: 3:b0bbcfeb5f8d - | tag: tip - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: Copy A to B - | - | diff --git a/A b/B - | copy from A - | copy to B - | --- a/A - | +++ b/B - | @@ -1,2 +1,1 @@ - | 1 - | -2 - | - o changeset: 2:986e0f3a27f2 - | parent: 0:a18fe624bf77 - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: Modify A - | - | diff --git a/A b/A - | --- a/A - | +++ b/A - | @@ -1,1 +1,2 @@ - | 1 - | +2 - | - o changeset: 0:a18fe624bf77 - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: A - - diff --git a/A b/A - new file mode 100644 - --- /dev/null - +++ b/A - @@ -0,0 +1,1 @@ - +1 -