git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: jn/apply-filename-with-sp (Re: What's cooking in git.git (Aug 2010, #02; Wed, 11))

From
Johannes Sixt <j6t@kdbg.org>
Date
Aug 13, 2010, 21:44 UTC
Message-ID
<4C65BCD2.6000701@kdbg.org>
In-Reply-To
<20100812224044.GK2029@burratino>
Am 13.08.2010 00:40, schrieb Jonathan Nieder:
Show 25 quoted lines
> Johannes Sixt wrote:
>> Am 8/12/2010 1:35, schrieb Junio C Hamano:
>
>>> * jn/apply-filename-with-sp (2010-07-23) 4 commits
>>>   - apply: Handle traditional patches with space in filename
>>>   - t4135 (apply): use expand instead of pr for portability
>>>   - tests: Test how well "git apply" copes with weird filenames
>>>   - apply: Split quoted filename handling into new function
>>>
>>> Looked Ok.  Will merge to 'next'.
>>
>> The test cases that work with files with tabs must have a prerequisite;
>> see t3600-rm.sh.
>
> Would this work?
>
> -- 8<  --
> Subject: t4135 (apply): filenames with tabs are not usable on NTFS
>
> Move the code setting up the FUNNYNAMES prerequisite from
> v1.3.0-rc1~67 (workaround fat/ntfs deficiences for t3600-rm.sh,
> 2006-03-03) to test-lib and use it.
>
> Reported-by: Johannes Sixt<j6t@kdbg.org>
> Signed-off-by: Jonathan Nieder<jrnieder@gmail.com>

No, it needs this squashed in (warning, whitespace damaged), except that the prerequisite EXPAND is nowhere defined - it is only a hint for you(?) that we need something else there because we don't have expand on Windows.

I don't know why the test with quotes fails. It must be a bug in MSYS bash, because the file system does not have any problems with quotes in file names.

diff --git a/t/t4135-apply-weird-filenames.sh 
b/t/t4135-apply-weird-filenames.sh
index 5c7165e..6730a30 100755
--- a/t/t4135-apply-weird-filenames.sh
+++ b/t/t4135-apply-weird-filenames.sh
@@ -88,10 +88,10 @@ try_filename() {
  try_filename 'plain'            'postimage.txt'
  try_filename 'with spaces'      'post image.txt'
  try_filename 'with tab'         'post	image.txt' FUNNYNAMES
-try_filename 'with backslash'   'post\image.txt'
-try_filename 'with quote'       '"postimage".txt' '' success failure success
+try_filename 'with backslash'   'post\image.txt' BSLASHPSPEC
+try_filename 'with quote'       '"postimage".txt' FUNNYNAMES success 
failure success

-test_expect_success FULLDIFF 'whitespace-damaged traditional patch' '
+test_expect_success EXPAND,FULLDIFF 'whitespace-damaged traditional patch' '
  	reset_preimage &&
  	reset_subdirs &&
  	echo postimage >b/postimage.txt &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 1e5640b..d50e787 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -963,8 +963,8 @@ test -z "$NO_GETTEXT" && test_set_prereq GETTEXT
  f1='newline
  embedded'
  if
-	>"$f1" 2>/dev/null &&
-	>'tab	embedded' 2>/dev/null
+	{ >"$f1"; } 2>/dev/null &&
+	{ >'tab	embedded'; } 2>/dev/null
  then
  	test_set_prereq FUNNYNAMES
  fi

Without the braces in this check the error message is still printed. I 
didn't test whether just writing 2>/dev/null first would suppress it as well.

BTW, I would prefer to keep the test in t3600 and t4135, that it doesn't 
happen for every other test script unnecessarily.

-- Hannes
Previous: Ævar Arnfjörð BjarmasonNext: Jonathan Nieder
Message 38 of 56 in “What's cooking in git.git (Aug 2010, #02; Wed, 11)”
  1. Junio C HamanoAug 11, 2010
  2. Jonathan NiederAug 12, 2010
  3. Ævar Arnfjörð BjarmasonAug 12, 2010
  4. jn/commit-no-change-wo-status (Re: What's cooking in git.git (Aug 2010, #02; Wed, 11))Jonathan Nieder, Aug 12, 2010
  5. Elijah NewrenAug 12, 2010
  6. Junio C HamanoAug 12, 2010
  7. Elijah NewrenAug 12, 2010
  8. Johannes SixtAug 12, 2010
  9. Greg BrockmanAug 12, 2010
  10. Ævar Arnfjörð BjarmasonAug 12, 2010
  11. Junio C HamanoAug 12, 2010
  12. Greg BrockmanAug 12, 2010
  13. Junio C HamanoAug 12, 2010
  14. Ævar Arnfjörð BjarmasonAug 12, 2010
  15. Erik Faye-LundAug 12, 2010
  16. Ævar Arnfjörð BjarmasonAug 12, 2010
  17. Chris PackhamAug 12, 2010
  18. Ævar Arnfjörð BjarmasonAug 12, 2010
  19. windows smoke tester (was Re: What's cooking in git.git (Aug 2010, #02; Wed, 11))Chris Packham, Aug 12, 2010
  20. Ævar Arnfjörð BjarmasonAug 12, 2010
  21. Chris PackhamAug 12, 2010
  22. Ævar Arnfjörð BjarmasonAug 13, 2010
  23. Chris PackhamAug 14, 2010
  24. Ævar Arnfjörð BjarmasonAug 14, 2010
  25. Tay Ray ChuanAug 15, 2010
  26. Ævar Arnfjörð BjarmasonAug 15, 2010
  27. Tay Ray ChuanAug 15, 2010
  28. Ilari LiusvaaraAug 12, 2010
  29. Johannes SixtAug 12, 2010
  30. Ilari LiusvaaraAug 12, 2010
  31. Elijah NewrenAug 12, 2010
  32. Junio C HamanoAug 12, 2010
  33. Junio C HamanoAug 12, 2010
  34. jn/apply-filename-with-sp (Re: What's cooking in git.git (Aug 2010, #02; Wed, 11))Jonathan Nieder, Aug 12, 2010
  35. Ævar Arnfjörð BjarmasonAug 12, 2010
  36. Junio C HamanoAug 12, 2010
  37. Ævar Arnfjörð BjarmasonAug 13, 2010
  38. Johannes SixtAug 13, 2010
  39. Jonathan NiederAug 14, 2010
  40. Johannes SixtAug 14, 2010
  41. Jonathan NiederAug 15, 2010
  42. 0/3 apply: handle traditional patches with space in filenameJonathan Nieder, Aug 19, 2010
  43. 1/3 apply: split quoted filename handling into new functionJonathan Nieder, Aug 19, 2010
  44. 2/3 tests: exercise "git apply" with weird filenamesJonathan Nieder, Aug 19, 2010
  45. 3/3 apply: handle traditional patches with space in filenameJonathan Nieder, Aug 19, 2010
  46. Johannes SixtAug 19, 2010
  47. Jonathan NiederAug 20, 2010
  48. jn/svn-feJonathan Nieder, Aug 13, 2010
  49. Jakub NarebskiAug 13, 2010
  50. Johannes SixtAug 13, 2010
  51. 0/5 vcs-svn: Port to WindowsJonathan Nieder, Aug 13, 2010
  52. 1/5 compat: add strtok_r()Jonathan Nieder, Aug 13, 2010
  53. 2/5 vcs-svn: Rename dirent pool to build on WindowsJonathan Nieder, Aug 14, 2010
  54. 3/5 vcs-svn: Avoid %z in format stringJonathan Nieder, Aug 14, 2010
  55. 4/5 t9010 (svn-fe): use Unix-style path in URIJonathan Nieder, Aug 14, 2010
  56. 5/5 t9010 (svn-fe): avoid symlinks in testJonathan Nieder, Aug 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.