{"thread":{"id":"44730","subject":"[PATCH v1] git-p4: fix git-p4.pathEncoding for removed files","startedAt":"2016-12-18T17:52:21Z","lastAt":"2017-02-10T22:33:14Z","messageCount":8,"participants":["larsxschneider@gmail.com","Junio C Hamano","Luke Diamand","Lars Schneider"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"307998","messageId":"20161218175153.92336-1-larsxschneider@gmail.com","threadId":"44730","inReplyTo":null,"subject":"[PATCH v1] git-p4: fix git-p4.pathEncoding for removed files","fromName":"","fromEmail":"larsxschneider@gmail.com","sentAt":"2016-12-18T17:51:53Z","receivedAt":"2016-12-18T17:52:21Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"From: Lars Schneider <larsxschneider@gmail.com>\n\nIn a9e38359e3 we taught git-p4 a way to re-encode path names from what\nwas used in Perforce to UTF-8. This path re-encoding worked properly for\n\"added\" paths. \"Removed\" paths were not re-encoded and therefore\ndifferent from the \"added\" paths. Consequently, these files were not\nremoved in a git-p4 cloned Git repository because the path names did not\nmatch.\n\nFix this by moving the re-encoding to a place that affects \"added\" and\n\"removed\" paths. Add a test to demonstrate the issue.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n\nNotes:\n    Base Commit: d1271bddd4 (v2.11.0)\n    Diff on Web: https://github.com/git/git/compare/d1271bddd4...larsxschneider:05a82caa69\n    Checkout:    git fetch https://github.com/larsxschneider/git git-p4/fix-path-encoding-v1 && git checkout 05a82caa69\n\n git-p4.py                       | 19 +++++++++----------\n t/t9822-git-p4-path-encoding.sh | 16 ++++++++++++++++\n 2 files changed, 25 insertions(+), 10 deletions(-)\n\ndiff --git a/git-p4.py b/git-p4.py\nindex fd5ca52462..8f311cb4e8 100755\n--- a/git-p4.py\n+++ b/git-p4.py\n@@ -2366,6 +2366,15 @@ class P4Sync(Command, P4UserMap):\n                     break\n \n         path = wildcard_decode(path)\n+        try:\n+            path.decode('ascii')\n+        except:\n+            encoding = 'utf8'\n+            if gitConfig('git-p4.pathEncoding'):\n+                encoding = gitConfig('git-p4.pathEncoding')\n+            path = path.decode(encoding, 'replace').encode('utf8', 'replace')\n+            if self.verbose:\n+                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)\n         return path\n \n     def splitFilesIntoBranches(self, commit):\n@@ -2495,16 +2504,6 @@ class P4Sync(Command, P4UserMap):\n             text = regexp.sub(r'$\\1$', text)\n             contents = [ text ]\n \n-        try:\n-            relPath.decode('ascii')\n-        except:\n-            encoding = 'utf8'\n-            if gitConfig('git-p4.pathEncoding'):\n-                encoding = gitConfig('git-p4.pathEncoding')\n-            relPath = relPath.decode(encoding, 'replace').encode('utf8', 'replace')\n-            if self.verbose:\n-                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, relPath)\n-\n         if self.largeFileSystem:\n             (git_mode, contents) = self.largeFileSystem.processContent(git_mode, relPath, contents)\n \ndiff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh\nindex 7b83e696a9..c78477c19b 100755\n--- a/t/t9822-git-p4-path-encoding.sh\n+++ b/t/t9822-git-p4-path-encoding.sh\n@@ -51,6 +51,22 @@ test_expect_success 'Clone repo containing iso8859-1 encoded paths with git-p4.p\n \t)\n '\n \n+test_expect_success 'Delete iso8859-1 encoded paths and clone' '\n+\t(\n+\t\tcd \"$cli\" &&\n+\t\tISO8859=\"$(printf \"$ISO8859_ESCAPED\")\" &&\n+\t\tp4 delete \"$ISO8859\" &&\n+\t\tp4 submit -d \"remove file\"\n+\t) &&\n+\tgit p4 clone --destination=\"$git\" //depot@all &&\n+\ttest_when_finished cleanup_git &&\n+\t(\n+\t\tcd \"$git\" &&\n+\t\tgit -c core.quotepath=false ls-files >actual &&\n+\t\ttest_must_be_empty actual\n+\t)\n+'\n+\n test_expect_success 'kill p4d' '\n \tkill_p4d\n '\n-- \n2.11.0\n\n"},{"id":"308097","messageId":"xmqq37hjobf6.fsf@gitster.mtv.corp.google.com","threadId":"44730","inReplyTo":"20161218175153.92336-1-larsxschneider@gmail.com","subject":"Re: [PATCH v1] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-12-19T21:29:17Z","receivedAt":"2016-12-19T21:30:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"larsxschneider@gmail.com writes:\n\n> From: Lars Schneider <larsxschneider@gmail.com>\n>\n> In a9e38359e3 we taught git-p4 a way to re-encode path names from what\n> was used in Perforce to UTF-8. This path re-encoding worked properly for\n> \"added\" paths. \"Removed\" paths were not re-encoded and therefore\n> different from the \"added\" paths. Consequently, these files were not\n> removed in a git-p4 cloned Git repository because the path names did not\n> match.\n>\n> Fix this by moving the re-encoding to a place that affects \"added\" and\n> \"removed\" paths. Add a test to demonstrate the issue.\n>\n> Signed-off-by: Lars Schneider <larsxschneider@gmail.com>\n> ---\n\nThanks.\n\nThe above description makes me wonder what happens to \"modified\"\npaths, but presumably they are handled in a separate codepath?  Or\ndoes this also cover not just \"removed\" but also paths with any\nchange?\n\nLuke, does this look good?\n\n> Notes:\n>     Base Commit: d1271bddd4 (v2.11.0)\n>     Diff on Web: https://github.com/git/git/compare/d1271bddd4...larsxschneider:05a82caa69\n>     Checkout:    git fetch https://github.com/larsxschneider/git git-p4/fix-path-encoding-v1 && git checkout 05a82caa69\n>\n>  git-p4.py                       | 19 +++++++++----------\n>  t/t9822-git-p4-path-encoding.sh | 16 ++++++++++++++++\n>  2 files changed, 25 insertions(+), 10 deletions(-)\n>\n> diff --git a/git-p4.py b/git-p4.py\n> index fd5ca52462..8f311cb4e8 100755\n> --- a/git-p4.py\n> +++ b/git-p4.py\n> @@ -2366,6 +2366,15 @@ class P4Sync(Command, P4UserMap):\n>                      break\n>  \n>          path = wildcard_decode(path)\n> +        try:\n> +            path.decode('ascii')\n> +        except:\n> +            encoding = 'utf8'\n> +            if gitConfig('git-p4.pathEncoding'):\n> +                encoding = gitConfig('git-p4.pathEncoding')\n> +            path = path.decode(encoding, 'replace').encode('utf8', 'replace')\n> +            if self.verbose:\n> +                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)\n>          return path\n>  \n>      def splitFilesIntoBranches(self, commit):\n> @@ -2495,16 +2504,6 @@ class P4Sync(Command, P4UserMap):\n>              text = regexp.sub(r'$\\1$', text)\n>              contents = [ text ]\n>  \n> -        try:\n> -            relPath.decode('ascii')\n> -        except:\n> -            encoding = 'utf8'\n> -            if gitConfig('git-p4.pathEncoding'):\n> -                encoding = gitConfig('git-p4.pathEncoding')\n> -            relPath = relPath.decode(encoding, 'replace').encode('utf8', 'replace')\n> -            if self.verbose:\n> -                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, relPath)\n> -\n>          if self.largeFileSystem:\n>              (git_mode, contents) = self.largeFileSystem.processContent(git_mode, relPath, contents)\n>  \n> diff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh\n> index 7b83e696a9..c78477c19b 100755\n> --- a/t/t9822-git-p4-path-encoding.sh\n> +++ b/t/t9822-git-p4-path-encoding.sh\n> @@ -51,6 +51,22 @@ test_expect_success 'Clone repo containing iso8859-1 encoded paths with git-p4.p\n>  \t)\n>  '\n>  \n> +test_expect_success 'Delete iso8859-1 encoded paths and clone' '\n> +\t(\n> +\t\tcd \"$cli\" &&\n> +\t\tISO8859=\"$(printf \"$ISO8859_ESCAPED\")\" &&\n> +\t\tp4 delete \"$ISO8859\" &&\n> +\t\tp4 submit -d \"remove file\"\n> +\t) &&\n> +\tgit p4 clone --destination=\"$git\" //depot@all &&\n> +\ttest_when_finished cleanup_git &&\n> +\t(\n> +\t\tcd \"$git\" &&\n> +\t\tgit -c core.quotepath=false ls-files >actual &&\n> +\t\ttest_must_be_empty actual\n> +\t)\n> +'\n> +\n>  test_expect_success 'kill p4d' '\n>  \tkill_p4d\n>  '\n"},{"id":"308138","messageId":"CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com","threadId":"44730","inReplyTo":"xmqq37hjobf6.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v1] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Luke Diamand","fromEmail":"luke@diamand.org","sentAt":"2016-12-20T11:01:23Z","receivedAt":"2016-12-20T11:01:30Z","isPatch":true,"sender":{"key":"luke@diamand.org","avatar":"https://avatars.githubusercontent.com/u/5330967?v=4"},"body":"On 19 December 2016 at 21:29, Junio C Hamano <gitster@pobox.com> wrote:\n> larsxschneider@gmail.com writes:\n>\n>> From: Lars Schneider <larsxschneider@gmail.com>\n>>\n>> In a9e38359e3 we taught git-p4 a way to re-encode path names from what\n>> was used in Perforce to UTF-8. This path re-encoding worked properly for\n>> \"added\" paths. \"Removed\" paths were not re-encoded and therefore\n>> different from the \"added\" paths. Consequently, these files were not\n>> removed in a git-p4 cloned Git repository because the path names did not\n>> match.\n>>\n>> Fix this by moving the re-encoding to a place that affects \"added\" and\n>> \"removed\" paths. Add a test to demonstrate the issue.\n>>\n>> Signed-off-by: Lars Schneider <larsxschneider@gmail.com>\n>> ---\n>\n> Thanks.\n>\n> The above description makes me wonder what happens to \"modified\"\n> paths, but presumably they are handled in a separate codepath?  Or\n> does this also cover not just \"removed\" but also paths with any\n> change?\n>\n> Luke, does this look good?\n\nI'm not totally sure. In the previous version the conversion happened\nin streamOneP4File(). There is a counterpart to this,\nstreamOneP4Deletion() which would seem like the callpoint that needs\nto know about this.\n\nThe change puts the logic into stripRepoPath() instead, which is\nindeed called from both of those functions (good), but also from\nsplitFilesIntoBranches(), but only if self.useClientSpec is set. That\nfunction only gets used if we're doing the automatic branch detection\nlogic, so it's possible that this code might now be broken and we\nwouldn't know.\n\nLars, what do you think? Other than the above, the change looks good,\nso it may all be fine.\n\n(As an aside, this is the heart of the code that's going to need some\ncareful rework if/when we ever move to Python3).\n\nLuke\n"},{"id":"308266","messageId":"xmqqeg0zfyjx.fsf@gitster.mtv.corp.google.com","threadId":"44730","inReplyTo":"CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com","subject":"Re: [PATCH v1] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-12-22T21:23:30Z","receivedAt":"2016-12-22T21:23:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Luke Diamand <luke@diamand.org> writes:\n\n> The change puts the logic into stripRepoPath() instead, which is\n> indeed called from both of those functions (good), but also from\n> splitFilesIntoBranches(), but only if self.useClientSpec is set. That\n> function only gets used if we're doing the automatic branch detection\n> logic, so it's possible that this code might now be broken and we\n> wouldn't know.\n>\n> Lars, what do you think? Other than the above, the change looks good,\n> so it may all be fine.\n>\n> (As an aside, this is the heart of the code that's going to need some\n> careful rework if/when we ever move to Python3).\n\nThanks.  \n\nI'll merge this as-is to 'next', expecting that further refinement\ncan be done incrementally.\n\n"},{"id":"311183","messageId":"20170209150656.9070-1-larsxschneider@gmail.com","threadId":"44730","inReplyTo":"CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com","subject":"[PATCH v2] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Lars Schneider","fromEmail":"larsxschneider@gmail.com","sentAt":"2017-02-09T15:06:56Z","receivedAt":"2017-02-09T15:07:54Z","isPatch":true,"sender":{"key":"larsxschneider@gmail.com","avatar":"https://avatars.githubusercontent.com/u/477434?v=4"},"body":"In a9e38359e3 we taught git-p4 a way to re-encode path names from what\nwas used in Perforce to UTF-8. This path re-encoding worked properly for\n\"added\" paths. \"Removed\" paths were not re-encoded and therefore\ndifferent from the \"added\" paths. Consequently, these files were not\nremoved in a git-p4 cloned Git repository because the path names did not\nmatch.\n\nFix this by moving the re-encoding to a place that affects \"added\" and\n\"removed\" paths. Add a test to demonstrate the issue.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\n---\n\nHi,\n\nunfortunately, I missed to send this v2. I agree with Luke's review and\nI moved the re-encode of the path name to the `streamOneP4File` and\n`streamOneP4Deletion` explicitly.\n\nDiscussion:\nhttp://public-inbox.org/git/CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com/\n\nThanks,\nLars\n\n\nNotes:\n    Base Commit: 454cb6bd52 (v2.11.0)\n    Diff on Web: https://github.com/larsxschneider/git/commit/75ed3e92e2\n    Checkout:    git fetch https://github.com/larsxschneider/git git-p4/fix-path-encoding-v2 && git checkout 75ed3e92e2\n\n    Interdiff (v1..v2):\n\n    diff --git a/git-p4.py b/git-p4.py\n    index 8f311cb4e8..dac8b4955d 100755\n    --- a/git-p4.py\n    +++ b/git-p4.py\n    @@ -2366,15 +2366,6 @@ class P4Sync(Command, P4UserMap):\n                         break\n\n             path = wildcard_decode(path)\n    -        try:\n    -            path.decode('ascii')\n    -        except:\n    -            encoding = 'utf8'\n    -            if gitConfig('git-p4.pathEncoding'):\n    -                encoding = gitConfig('git-p4.pathEncoding')\n    -            path = path.decode(encoding, 'replace').encode('utf8', 'replace')\n    -            if self.verbose:\n    -                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)\n             return path\n\n         def splitFilesIntoBranches(self, commit):\n    @@ -2427,11 +2418,24 @@ class P4Sync(Command, P4UserMap):\n                 self.gitStream.write(d)\n             self.gitStream.write('\\n')\n\n    +    def encodeWithUTF8(self, path):\n    +        try:\n    +            path.decode('ascii')\n    +        except:\n    +            encoding = 'utf8'\n    +            if gitConfig('git-p4.pathEncoding'):\n    +                encoding = gitConfig('git-p4.pathEncoding')\n    +            path = path.decode(encoding, 'replace').encode('utf8', 'replace')\n    +            if self.verbose:\n    +                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)\n    +        return path\n    +\n         # output one file from the P4 stream\n         # - helper for streamP4Files\n\n         def streamOneP4File(self, file, contents):\n             relPath = self.stripRepoPath(file['depotFile'], self.branchPrefixes)\n    +        relPath = self.encodeWithUTF8(relPath)\n             if verbose:\n                 size = int(self.stream_file['fileSize'])\n                 sys.stdout.write('\\r%s --> %s (%i MB)\\n' % (file['depotFile'], relPath, size/1024/1024))\n    @@ -2511,6 +2515,7 @@ class P4Sync(Command, P4UserMap):\n\n         def streamOneP4Deletion(self, file):\n             relPath = self.stripRepoPath(file['path'], self.branchPrefixes)\n    +        relPath = self.encodeWithUTF8(relPath)\n             if verbose:\n                 sys.stdout.write(\"delete %s\\n\" % relPath)\n                 sys.stdout.flush()\n\n git-p4.py                       | 24 ++++++++++++++----------\n t/t9822-git-p4-path-encoding.sh | 16 ++++++++++++++++\n 2 files changed, 30 insertions(+), 10 deletions(-)\n\ndiff --git a/git-p4.py b/git-p4.py\nindex fd5ca52462..dac8b4955d 100755\n--- a/git-p4.py\n+++ b/git-p4.py\n@@ -2418,11 +2418,24 @@ class P4Sync(Command, P4UserMap):\n             self.gitStream.write(d)\n         self.gitStream.write('\\n')\n\n+    def encodeWithUTF8(self, path):\n+        try:\n+            path.decode('ascii')\n+        except:\n+            encoding = 'utf8'\n+            if gitConfig('git-p4.pathEncoding'):\n+                encoding = gitConfig('git-p4.pathEncoding')\n+            path = path.decode(encoding, 'replace').encode('utf8', 'replace')\n+            if self.verbose:\n+                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, path)\n+        return path\n+\n     # output one file from the P4 stream\n     # - helper for streamP4Files\n\n     def streamOneP4File(self, file, contents):\n         relPath = self.stripRepoPath(file['depotFile'], self.branchPrefixes)\n+        relPath = self.encodeWithUTF8(relPath)\n         if verbose:\n             size = int(self.stream_file['fileSize'])\n             sys.stdout.write('\\r%s --> %s (%i MB)\\n' % (file['depotFile'], relPath, size/1024/1024))\n@@ -2495,16 +2508,6 @@ class P4Sync(Command, P4UserMap):\n             text = regexp.sub(r'$\\1$', text)\n             contents = [ text ]\n\n-        try:\n-            relPath.decode('ascii')\n-        except:\n-            encoding = 'utf8'\n-            if gitConfig('git-p4.pathEncoding'):\n-                encoding = gitConfig('git-p4.pathEncoding')\n-            relPath = relPath.decode(encoding, 'replace').encode('utf8', 'replace')\n-            if self.verbose:\n-                print 'Path with non-ASCII characters detected. Used %s to encode: %s ' % (encoding, relPath)\n-\n         if self.largeFileSystem:\n             (git_mode, contents) = self.largeFileSystem.processContent(git_mode, relPath, contents)\n\n@@ -2512,6 +2515,7 @@ class P4Sync(Command, P4UserMap):\n\n     def streamOneP4Deletion(self, file):\n         relPath = self.stripRepoPath(file['path'], self.branchPrefixes)\n+        relPath = self.encodeWithUTF8(relPath)\n         if verbose:\n             sys.stdout.write(\"delete %s\\n\" % relPath)\n             sys.stdout.flush()\ndiff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh\nindex 7b83e696a9..c78477c19b 100755\n--- a/t/t9822-git-p4-path-encoding.sh\n+++ b/t/t9822-git-p4-path-encoding.sh\n@@ -51,6 +51,22 @@ test_expect_success 'Clone repo containing iso8859-1 encoded paths with git-p4.p\n \t)\n '\n\n+test_expect_success 'Delete iso8859-1 encoded paths and clone' '\n+\t(\n+\t\tcd \"$cli\" &&\n+\t\tISO8859=\"$(printf \"$ISO8859_ESCAPED\")\" &&\n+\t\tp4 delete \"$ISO8859\" &&\n+\t\tp4 submit -d \"remove file\"\n+\t) &&\n+\tgit p4 clone --destination=\"$git\" //depot@all &&\n+\ttest_when_finished cleanup_git &&\n+\t(\n+\t\tcd \"$git\" &&\n+\t\tgit -c core.quotepath=false ls-files >actual &&\n+\t\ttest_must_be_empty actual\n+\t)\n+'\n+\n test_expect_success 'kill p4d' '\n \tkill_p4d\n '\n\nbase-commit: 454cb6bd52a4de614a3633e4f547af03d5c3b640\n--\n2.11.0\n\n"},{"id":"311239","messageId":"xmqqfujnlyru.fsf@gitster.mtv.corp.google.com","threadId":"44730","inReplyTo":"20170209150656.9070-1-larsxschneider@gmail.com","subject":"Re: [PATCH v2] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-02-09T23:39:33Z","receivedAt":"2017-02-09T23:48:17Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Lars Schneider <larsxschneider@gmail.com> writes:\n\n> unfortunately, I missed to send this v2. I agree with Luke's review and\n> I moved the re-encode of the path name to the `streamOneP4File` and\n> `streamOneP4Deletion` explicitly.\n>\n> Discussion:\n> http://public-inbox.org/git/CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com/\n>\n> Thanks,\n> Lars\n\nThanks.  Will replace but will not immediately merge to 'next' yet,\njust in case Luke wants to tell me add his \"Reviewed-by:\".\n"},{"id":"311320","messageId":"CAE5ih78xRAOFb+MC53qzNJyZ_d7j+87UYEt5Ku6JrkFhgHdD7w@mail.gmail.com","threadId":"44730","inReplyTo":"xmqqfujnlyru.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH v2] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Luke Diamand","fromEmail":"luke@diamand.org","sentAt":"2017-02-10T22:05:26Z","receivedAt":"2017-02-10T22:05:32Z","isPatch":true,"sender":{"key":"luke@diamand.org","avatar":"https://avatars.githubusercontent.com/u/5330967?v=4"},"body":"On 9 February 2017 at 23:39, Junio C Hamano <gitster@pobox.com> wrote:\n> Lars Schneider <larsxschneider@gmail.com> writes:\n>\n>> unfortunately, I missed to send this v2. I agree with Luke's review and\n>> I moved the re-encode of the path name to the `streamOneP4File` and\n>> `streamOneP4Deletion` explicitly.\n>>\n>> Discussion:\n>> http://public-inbox.org/git/CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com/\n>>\n>> Thanks,\n>> Lars\n>\n> Thanks.  Will replace but will not immediately merge to 'next' yet,\n> just in case Luke wants to tell me add his \"Reviewed-by:\".\n\nYes, this looks good to me now.\n\nLuke\n"},{"id":"311323","messageId":"xmqqtw81isme.fsf@gitster.mtv.corp.google.com","threadId":"44730","inReplyTo":"CAE5ih78xRAOFb+MC53qzNJyZ_d7j+87UYEt5Ku6JrkFhgHdD7w@mail.gmail.com","subject":"Re: [PATCH v2] git-p4: fix git-p4.pathEncoding for removed files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-02-10T22:32:57Z","receivedAt":"2017-02-10T22:33:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Luke Diamand <luke@diamand.org> writes:\n\n> On 9 February 2017 at 23:39, Junio C Hamano <gitster@pobox.com> wrote:\n>> Lars Schneider <larsxschneider@gmail.com> writes:\n>>\n>>> unfortunately, I missed to send this v2. I agree with Luke's review and\n>>> I moved the re-encode of the path name to the `streamOneP4File` and\n>>> `streamOneP4Deletion` explicitly.\n>>>\n>>> Discussion:\n>>> http://public-inbox.org/git/CAE5ih7-=bD_ZoL5pFYfD2Qvy-XE24V_cgge0XoAvuoTK02EDfg@mail.gmail.com/\n>>>\n>>> Thanks,\n>>> Lars\n>>\n>> Thanks.  Will replace but will not immediately merge to 'next' yet,\n>> just in case Luke wants to tell me add his \"Reviewed-by:\".\n>\n> Yes, this looks good to me now.\n\nThanks.\n"}]}