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

Re: [Git] recursive merge on 'master' severely broken?

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 11, 2018, 09:06 UTC
Message-ID
<xmqqin8y3yf1.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<xmqqmuya43cs.fsf@gitster-ct.c.googlers.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 9 quoted lines
> It appears that a topic recently graduated to 'master' introduces a
> severe regression to "git merge" when it merges a side branch that
> renames paths while the trunk has further updates.
> ...
> I suspect that the culprit is the merge e4bb62fa ("Merge branch
> 'en/rename-directory-detection'", 2018-04-10), and I am planning to
> revert it out of 'master' as soon as possible, but it is already
> buried deep in other topics, so I may not be able to get to it until
> later this week.  Sorry about that.
An interim report.

It indeed is that merge with the topic. I rebuilt an equivalent of 'master' without that topic on top of v2.17.0 and tried the same merge of sb/filenames-with-dashes fd055186 ("replace_object.c: rename to use dash in file name", 2018-04-10) topic into pu^ 35f7512e ("Merge branch 'fg/completion-external' into pu", 2018-04-11), and that version of Git does not exhibit the problem.

I do not yet know which one of the ~30 individual commmits is the real culprit, but in the meantime, I'll revert the merge out of 'master' and push the result out, so that real Git-using projects won't get silent mismerges. Those who run in-house version of Git that is based on anything newer than the released version may want to do the same.

Sorry for the crappy 'master' X-<.
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 13 in “[Git] recursive merge on 'master' severely broken?”
  1. Junio C HamanoApr 11, 2018
  2. Junio C HamanoApr 11, 2018
  3. Junio C HamanoApr 11, 2018
  4. Elijah NewrenApr 11, 2018
  5. Junio C HamanoApr 12, 2018
  6. 0/30 Add directory rename detection to gitElijah Newren, Apr 13, 2018
  7. 30/30 merge-recursive: fix check for skipability of working tree updatesElijah Newren, Apr 13, 2018
  8. 75/30 merge-recursive: Fix was_tracked() to quit lying with some renamed pathsElijah Newren, Apr 13, 2018
  9. Junio C HamanoApr 16, 2018
  10. Elijah NewrenApr 16, 2018
  11. 50/30 t6046: testcases checking whether updates can be skipped in a mergeElijah Newren, Apr 13, 2018
  12. Stefan BellerApr 13, 2018
  13. 25/30 merge-recursive: improve output precision around skipping updatesElijah Newren, Apr 13, 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.