mirror of
https://github.com/git/git.git
synced 2024-05-04 05:26:13 +02:00
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 <luke@diamand.org> Acked-by: Andrey Mazo <amazo@checkvideo.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7a10bb3a4c
commit
7a10946ab9
|
@ -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)
|
||||
|
|
|
@ -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" &&
|
||||
|
|
Loading…
Reference in New Issue