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

Re: [PATCH 4/5] merge_recursive: Fix renames across paths below D/F conflicts

From
Alex Riesen <raa.lkml@gmail.com>
Date
Jun 29, 2010, 13:36 UTC
Message-ID
<AANLkTil7CdCoP3wLVKX0MEiwp8KaKWFLvRtUWzt2a3Nh@mail.gmail.com>
In-Reply-To
<AANLkTimFBlWiK76quLW1TiUfueGISsW7ZIHgFUcFg4j8@mail.gmail.com>
On Tue, Jun 29, 2010 at 14:52, Elijah Newren <newren@gmail.com> wrote:
Show 19 quoted lines
> On Tue, Jun 29, 2010 at 1:54 AM, Miklos Vajna <vmiklos@frugalware.org> wrote:
>> On Mon, Jun 28, 2010 at 07:12:15PM -0600, newren@gmail.com wrote:
>>> I'm a little uneasy with this change, mainly because I don't fully
>>> understand the rename processing logic (I was actually kind of surprised
>>> when I made these changes and it worked).  Although I verified that
>>> these changes (and my others in this patch series) introduce no new
>>> breakages in the testsuite and even fix a known issue, I'm still not
>>> quite sure I follow the logic well enough to feel fully confident in
>>> this change.  I'm particularly worried I may have neglected some closely
>>> related cases that I should have fixed but which may still be broken.
>
> Alex: I think the basic idea is just that the rename logic isn't aware
> that there may be higher stage entries in the index due to D/F
> conflicts; by checking for such cases and marking the entry as not
> processed, it allows process_entry() later to look at it and handle
> those higher stages.  But I'm not sure if that's the right way to
> handle it, or if just having process_renames() should take care of
> clearing out the higher stage entries, or if something else entirely
> should be done.

Nor am I. You may be still off by some commits in detecting the authorship :) This code was seldom touched since it was written (by Johannes). It has survived in this sorry state all (at least my) attempts to fix it. OTOH I never tried really hard. Maybe because the D/F conflicts are rare and are relatively simple to work around.

I cannot say much about your change... Are you sure about D/F conflict detection, though? You just test if target mode not 0.

Previous: Elijah NewrenNext: Elijah Newren
Message 9 of 13 in “D/F conflict fixes”
  1. 0/5 D/F conflict fixesnewren@gmail.com, Jun 29, 2010
  2. 1/5 Add additional testcases for D/F conflictsnewren@gmail.com, Jun 29, 2010
  3. 2/5 Add another rename + D/F conflict testcasenewren@gmail.com, Jun 29, 2010
  4. Alexander GladyshJun 29, 2010
  5. 3/5 merge-recursive: Fix D/F conflictsnewren@gmail.com, Jun 29, 2010
  6. 4/5 merge_recursive: Fix renames across paths below D/F conflictsnewren@gmail.com, Jun 29, 2010
  7. Miklos VajnaJun 29, 2010
  8. Elijah NewrenJun 29, 2010
  9. Alex RiesenJun 29, 2010
  10. Elijah NewrenJun 29, 2010
  11. Miklos VajnaJun 29, 2010
  12. Alex RiesenJun 30, 2010
  13. 5/5 fast-import: Handle directories changing into symlinksnewren@gmail.com, Jun 29, 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.