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

Re: What's cooking in git.git (Feb 2018, #03; Wed, 21)

From
Elijah Newren <newren@gmail.com>
Date
Feb 23, 2018, 21:09 UTC
Message-ID
<CABPp-BEZ+a4aKvMbQpSeJWh5v_o+BAHhO7Az50Dr4nahH67y=g@mail.gmail.com>
In-Reply-To
<xmqq1shdyidz.fsf@gitster-ct.c.googlers.com>
On Wed, Feb 21, 2018 at 4:31 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 40 quoted lines
> * en/rename-directory-detection (2018-02-14) 29 commits
>  - merge-recursive: ensure we write updates for directory-renamed file
>  - merge-recursive: avoid spurious rename/rename conflict from dir renames
>  - directory rename detection: new testcases showcasing a pair of bugs
>  - merge-recursive: fix remaining directory rename + dirty overwrite cases
>  - merge-recursive: fix overwriting dirty files involved in renames
>  - merge-recursive: avoid clobbering untracked files with directory renames
>  - merge-recursive: apply necessary modifications for directory renames
>  - merge-recursive: when comparing files, don't include trees
>  - merge-recursive: check for file level conflicts then get new name
>  - merge-recursive: add computation of collisions due to dir rename & merging
>  - merge-recursive: check for directory level conflicts
>  - merge-recursive: add get_directory_renames()
>  - merge-recursive: make a helper function for cleanup for handle_renames
>  - merge-recursive: split out code for determining diff_filepairs
>  - merge-recursive: make !o->detect_rename codepath more obvious
>  - merge-recursive: fix leaks of allocated renames and diff_filepairs
>  - merge-recursive: introduce new functions to handle rename logic
>  - merge-recursive: move the get_renames() function
>  - directory rename detection: tests for handling overwriting dirty files
>  - directory rename detection: tests for handling overwriting untracked files
>  - directory rename detection: miscellaneous testcases to complete coverage
>  - directory rename detection: testcases exploring possibly suboptimal merges
>  - directory rename detection: more involved edge/corner testcases
>  - directory rename detection: testcases checking which side did the rename
>  - directory rename detection: files/directories in the way of some renames
>  - directory rename detection: partially renamed directory testcase/discussion
>  - directory rename detection: testcases to avoid taking detection too far
>  - directory rename detection: directory splitting testcases
>  - directory rename detection: basic testcases
>
>  Rename detection logic in "diff" family that is used in "merge" has
>  learned to guess when all of x/a, x/b and x/c have moved to z/a,
>  z/b and z/c, it is likely that x/d added in the meantime would also
>  want to move to z/d by taking the hint that the entire directory
>  'x' moved to 'z'.  A bug causing dirty files involved in a rename
>  to be overwritten during merge has also been fixed as part of this
>  work.
>
>  Will merge to 'next'.

SZEDER Gábor requested (just over a week ago, but I was out at a funeral) that I switch is_null_sha1() to is_null_oid() in one of these patches. It's a trivial change and squashes cleanly, but if you're merging this series to next, I'm curious whether I should submit this change as a new patch on top of the series, if you'd prefer a full re-roll of the whole series, or something else. It's the only change I'm aware of anyone wanting to see; otherwise I think the series is complete.

Previous: Phillip WoodNext: Junio C Hamano
Message 9 of 13 in “What's cooking in git.git (Feb 2018, #03; Wed, 21)”
  1. Junio C HamanoFeb 22, 2018
  2. Brandon WilliamsFeb 22, 2018
  3. Junio C HamanoFeb 22, 2018
  4. Johannes SchindelinFeb 23, 2018
  5. Junio C HamanoFeb 23, 2018
  6. Johannes SchindelinFeb 26, 2018
  7. Junio C HamanoFeb 27, 2018
  8. Phillip WoodFeb 23, 2018
  9. Elijah NewrenFeb 23, 2018
  10. Junio C HamanoFeb 27, 2018
  11. Duy NguyenFeb 26, 2018
  12. Eric SunshineFeb 26, 2018
  13. Jeff HostetlerFeb 27, 2018

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.