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

Re: Strange merge failure (would be overwritten by merge / cannot merge)

From
David Aguilar <davvid@gmail.com>
Date
Sep 4, 2009, 23:45 UTC
Message-ID
<20090904234552.GA43797@gmail.com>
In-Reply-To
<4AA17874.7090905@debian.org>
On Fri, Sep 04, 2009 at 10:28:36PM +0200, Christoph Haas wrote:
Show 17 quoted lines
> 
> Now I imported a new upstream version into the upstream branch. And then
> tried to merge the 'upstream' branch into the 'master' branch to work on
> it. And suddenly I get this error:
> 
>    error: Entry 'cream-abbr-eng.vim' would be overwritten by merge.
>    Cannot merge.
> 
> To reproduce my problem:
> 
>   $> git clone git://git.workaround.org/cream
>   $> cd cream
>   $> git merge origin/upstream
>   error: Entry 'cream-abbr-eng.vim' would be overwritten by merge.
>   Cannot merge.
>   fatal: merging of trees 70008c82f82a7985531aa2d039c03fdf944ea267 and
>   78d3a35e300434d6369424dd873bb587beacfaa4 failed
Very odd indeed!

$ git version git version 1.6.4.2.264.g79b4f

I was able to workaround it:

$ rm * $ git add -u $ git merge origin/upstream

I've never run into this before. I think it has to do with all the renamed files. It looks like you're running into ain unfortunate edge case.

The merge-base of both branches (the initial commit) has all files underneath a cream/ directory.

Both descendants (upstream and master) moved files up to the root. So when you go to merge those histories the merge driver gets confused.

What happened in master? cream/A -> A What happened in upstream? cream/A -> A

That seems like an edge case that might need some attention.

Anyways, once you do the workaround merge it'll settle itself out and won't happen to you again since the merge will resolve it for all your future commits (future merges will have a new, rename-safe merge base).

Does anyone else on the list have any insights?
-- 
		David
Previous: Christoph HaasNext: Christoph Haas
Message 2 of 16 in “Strange merge failure (would be overwritten by merge / cannot merge)”
  1. Christoph HaasSep 4, 2009
  2. David AguilarSep 4, 2009
  3. Christoph HaasSep 5, 2009
  4. Junio C HamanoSep 5, 2009
  5. Junio C HamanoSep 6, 2009
  6. Junio C HamanoSep 6, 2009
  7. Linus TorvaldsSep 6, 2009
  8. Junio C HamanoSep 6, 2009
  9. Linus TorvaldsSep 6, 2009
  10. Junio C HamanoSep 6, 2009
  11. Linus TorvaldsSep 6, 2009
  12. Linus TorvaldsSep 6, 2009
  13. Junio C HamanoSep 6, 2009
  14. Linus TorvaldsSep 6, 2009
  15. Linus TorvaldsSep 6, 2009
  16. Junio C HamanoSep 6, 2009

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.