diff options
author | Lars Schneider <larsxschneider@gmail.com> | 2017-02-09 16:06:56 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-10 14:33:13 -0800 |
commit | a8b05162e894b88aeb7d5064daba07e1a4f58463 (patch) | |
tree | 138b28f52415d7eca09b72b1e51897270e8c8304 /t/t9822-git-p4-path-encoding.sh | |
parent | Merge branch 'jk/war-on-sprintf' into maint-2.7 (diff) | |
download | tgif-a8b05162e894b88aeb7d5064daba07e1a4f58463.tar.xz |
git-p4: fix git-p4.pathEncoding for removed files
In a9e38359e3 we taught git-p4 a way to re-encode path names from what
was used in Perforce to UTF-8. This path re-encoding worked properly for
"added" paths. "Removed" paths were not re-encoded and therefore
different from the "added" paths. Consequently, these files were not
removed in a git-p4 cloned Git repository because the path names did not
match.
Fix this by moving the re-encoding to a place that affects "added" and
"removed" paths. Add a test to demonstrate the issue.
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Reviewed-by: Luke Diamand <luke@diamand.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9822-git-p4-path-encoding.sh')
-rwxr-xr-x | t/t9822-git-p4-path-encoding.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh index 7b83e696a9..c78477c19b 100755 --- a/t/t9822-git-p4-path-encoding.sh +++ b/t/t9822-git-p4-path-encoding.sh @@ -51,6 +51,22 @@ test_expect_success 'Clone repo containing iso8859-1 encoded paths with git-p4.p ) ' +test_expect_success 'Delete iso8859-1 encoded paths and clone' ' + ( + cd "$cli" && + ISO8859="$(printf "$ISO8859_ESCAPED")" && + p4 delete "$ISO8859" && + p4 submit -d "remove file" + ) && + git p4 clone --destination="$git" //depot@all && + test_when_finished cleanup_git && + ( + cd "$git" && + git -c core.quotepath=false ls-files >actual && + test_must_be_empty actual + ) +' + test_expect_success 'kill p4d' ' kill_p4d ' |