From: Luke Diamand Date: Fri, 18 Jan 2019 09:36:56 +0000 (+0000) Subject: git-p4: handle update of moved/copied files when updating a shelve X-Git-Tag: v2.21.0-rc0~53^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/7a10946ab9dd4692fc99d219f0cd4bc3d5e16d63?ds=inline;hp=--cc git-p4: handle update of moved/copied files when updating a shelve Perforce requires a complete list of files being operated on. If git is updating an existing shelved changelist, then any files which are moved or copied were not being added to this list. Signed-off-by: Luke Diamand Acked-by: Andrey Mazo Signed-off-by: Junio C Hamano --- 7a10946ab9dd4692fc99d219f0cd4bc3d5e16d63 diff --git a/git-p4.py b/git-p4.py index 1998c3e141..b1c262e13d 100755 --- a/git-p4.py +++ b/git-p4.py @@ -1859,6 +1859,7 @@ def applyCommit(self, id): filesToAdd.remove(path) elif modifier == "C": src, dest = diff['src'], diff['dst'] + all_files.append(dest) p4_integrate(src, dest) pureRenameCopy.add(dest) if diff['src_sha1'] != diff['dst_sha1']: @@ -1875,6 +1876,7 @@ def applyCommit(self, id): editedFiles.add(dest) elif modifier == "R": src, dest = diff['src'], diff['dst'] + all_files.append(dest) if self.p4HasMoveCommand: p4_edit(src) # src must be open before move p4_move(src, dest) # opens for (move/delete, move/add) diff --git a/t/t9807-git-p4-submit.sh b/t/t9807-git-p4-submit.sh index f94854d447..850d979119 100755 --- a/t/t9807-git-p4-submit.sh +++ b/t/t9807-git-p4-submit.sh @@ -546,7 +546,7 @@ test_expect_success 'submit --update-shelve' ' ) ' -test_expect_failure 'update a shelve involving moved and copied files' ' +test_expect_success 'update a shelve involving moved and copied files' ' test_when_finished cleanup_git && ( cd "$cli" &&