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

Re: [PATCH v4 00/34] Add directory rename detection to git

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Dec 13, 2017, 18:15 UTC
Message-ID
<14bf2760-2787-5dd3-e5cc-a2ec0e0d8950@ramsayjones.plus.com>
In-Reply-To
<xmqqh8svxwpm.fsf@gitster.mtv.corp.google.com>
On 13/12/17 01:06, Junio C Hamano wrote:
Show 20 quoted lines
> Elijah Newren <newren@gmail.com> writes:
> 
>> This patchset introduces directory rename detection to merge-recursive.
> 
> The use of negated form of test_i18ngrep in these patches are all
> wrong.  Because the helper must say "even though the string does not
> match (does match), the test expects it to match (does not match),
> and we know that expectation won't hold simply because we are under
> poison build", so negating the result of test_i18ngrep won't work.
> Instead, you would tell test_i18ngrep that we do not expect it to
> find matching lines.
> 
> Even with the attached, test #70 will still fail because you have a
> construct that greps in output of test_i18ngrep.  That won't work
> under poison build, because the output of test_i18ngrep won't have
> the string you are looking for under poison build.
> 
> We may probably want to redirect the output of underlying grep to
> /dev/null in test_i18ngrep to make this kind of misuse easier to
> spot.

I have test-suite failures on the 'pu' branch for t4151-am-abort.sh (#3 and #6) and t5536-fetch-conflicts.sh (#3 and #6-7), which on a very quick inspection seem to be due to this (ie your SQUASH commit e5c5e24ad9).

For t4151 the test (both 3 & 6) is using test_i18ngrep on the output of a previous test_i18ngrep, and t5536 is doing likewise in the verify_stderr() helper function.

ATB, Ramsay Jones

Previous: Elijah NewrenNext: Junio C Hamano
Message 39 of 40 in “Add directory rename detection to git”
  1. 00/34 Add directory rename detection to gitElijah Newren, Nov 29, 2017
  2. 15/34 merge-recursive: move the get_renames() functionElijah Newren, Nov 29, 2017
  3. 24/34 merge-recursive: add a new hashmap for storing file collisionsElijah Newren, Nov 29, 2017
  4. 13/34 directory rename detection: tests for handling overwriting untracked filesElijah Newren, Nov 29, 2017
  5. 05/34 directory rename detection: directory splitting testcasesElijah Newren, Nov 29, 2017
  6. 12/34 directory rename detection: miscellaneous testcases to complete coverageElijah Newren, Nov 29, 2017
  7. 19/34 merge-recursive: split out code for determining diff_filepairsElijah Newren, Nov 29, 2017
  8. 22/34 merge-recursive: add get_directory_renames()Elijah Newren, Nov 29, 2017
  9. 02/34 merge-recursive: fix logic ordering issueElijah Newren, Nov 29, 2017
  10. 18/34 merge-recursive: make !o->detect_rename codepath more obviousElijah Newren, Nov 29, 2017
  11. 17/34 merge-recursive: fix leaks of allocated renames and diff_filepairsElijah Newren, Nov 29, 2017
  12. 31/34 merge-recursive: fix remaining directory rename + dirty overwrite casesElijah Newren, Nov 29, 2017
  13. 04/34 directory rename detection: basic testcasesElijah Newren, Nov 29, 2017
  14. 26/34 merge-recursive: check for file level conflicts then get new nameElijah Newren, Nov 29, 2017
  15. 16/34 merge-recursive: introduce new functions to handle rename logicElijah Newren, Nov 29, 2017
  16. 28/34 merge-recursive: apply necessary modifications for directory renamesElijah Newren, Nov 29, 2017
  17. 23/34 merge-recursive: check for directory level conflictsElijah Newren, Nov 29, 2017
  18. 06/34 directory rename detection: testcases to avoid taking detection too farElijah Newren, Nov 29, 2017
  19. 11/34 directory rename detection: testcases exploring possibly suboptimal mergesElijah Newren, Nov 29, 2017
  20. 03/34 merge-recursive: add explanation for src_entry and dst_entryElijah Newren, Nov 29, 2017
  21. 14/34 directory rename detection: tests for handling overwriting dirty filesElijah Newren, Nov 29, 2017
  22. 25/34 merge-recursive: add computation of collisions due to dir rename & mergingElijah Newren, Nov 29, 2017
  23. 33/34 merge-recursive: avoid spurious rename/rename conflict from dir renamesElijah Newren, Nov 29, 2017
  24. 27/34 merge-recursive: when comparing files, don't include treesElijah Newren, Nov 29, 2017
  25. 32/34 directory rename detection: new testcases showcasing a pair of bugsElijah Newren, Nov 29, 2017
  26. 21/34 merge-recursive: make a helper function for cleanup for handle_renamesElijah Newren, Nov 29, 2017
  27. 10/34 directory rename detection: more involved edge/corner testcasesElijah Newren, Nov 29, 2017
  28. 20/34 merge-recursive: add a new hashmap for storing directory renamesElijah Newren, Nov 29, 2017
  29. 09/34 directory rename detection: testcases checking which side did the renameElijah Newren, Nov 29, 2017
  30. 30/34 merge-recursive: fix overwriting dirty files involved in renamesElijah Newren, Nov 29, 2017
  31. 29/34 merge-recursive: avoid clobbering untracked files with directory renamesElijah Newren, Nov 29, 2017
  32. 08/34 directory rename detection: files/directories in the way of some renamesElijah Newren, Nov 29, 2017
  33. 34/34 merge-recursive: ensure we write updates for directory-renamed fileElijah Newren, Nov 29, 2017
  34. 07/34 directory rename detection: partially renamed directory testcase/discussionElijah Newren, Nov 29, 2017
  35. 01/34 Tighten and correct a few testcases for merging and cherry-pickingElijah Newren, Nov 29, 2017
  36. Junio C HamanoDec 13, 2017
  37. Junio C HamanoDec 13, 2017
  38. Elijah NewrenDec 13, 2017
  39. Ramsay JonesDec 13, 2017
  40. Junio C HamanoDec 13, 2017

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.