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

Re: [PATCH] modify/delete conflict resolution overwrites untracked file

From
Clemens Buchacher <drizzd@aon.at>
Date
Dec 11, 2008, 08:07 UTC
Message-ID
<20081211080752.GA26709@localhost>
In-Reply-To
<7voczjy55g.fsf@gitster.siamese.dyndns.org>
On Wed, Dec 10, 2008 at 03:36:11PM -0800, Junio C Hamano wrote:
Show 23 quoted lines
> Clemens Buchacher <drizzd@aon.at> writes:
> >
> > "merge -s resolve" fails with
> >
> > Trying really trivial in-index merge...
> > error: Merge requires file-level merging
> > Nope.
> > Trying simple merge.
> > Simple merge failed, trying Automatic merge.
> > ERROR: c1.c: Not handling case ae9304576a6ec3419b231b2b9c8e33a06f97f9fb ->
> > -> 8173b675dc61bb578b411c769c9fb654625a7c4e
> > fatal: merge program failed
> > Automatic merge failed; fix conflicts and then commit the result.
> >
> > and therefore passes the test.
> 
> Are you saying that:
> 
>  (1) the step should result in conflict and the merge should fail, but it
>      should not clobber c1.c nevertheless; and
> 
>  (2) resolve fails to merge (as expected), and it does not clobber c1.c
>      (as expected); therefore it passes the test.
The latter.
> If so, then you now established that it is a bug in merge-recursive,
> right [implementors of recursive-in-C CC'ed]?
Correct.
> Or are you saying that the step should not fail to begin with?

No. IMO, merge should fail and abort. That is, it should not modify the working tree at all and tell the user that an untracked file is in the way.

The tests check that merge returns an error code and c1.c is not modified. Test number 5 fails, unless the merge strategy resolve is used. While this indicates a bug in the recursive strategy, I am not satisfied with the error output of the resolve strategy either. It should output

"error: Untracked working tree file '...' would be overwritten by merge."
just like test number 2 does.
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 24 in “modify/delete conflict resolution overwrites untracked file”
  1. modify/delete conflict resolution overwrites untracked fileClemens Buchacher, Dec 10, 2008
  2. Junio C HamanoDec 10, 2008
  3. Clemens BuchacherDec 10, 2008
  4. Junio C HamanoDec 10, 2008
  5. Clemens BuchacherDec 11, 2008
  6. Junio C HamanoDec 11, 2008
  7. Clemens BuchacherDec 15, 2008
  8. Junio C HamanoDec 15, 2008
  9. Junio C HamanoDec 15, 2008
  10. Johannes SchindelinDec 15, 2008
  11. Junio C HamanoDec 15, 2008
  12. Johannes SchindelinDec 15, 2008
  13. Clemens BuchacherDec 15, 2008
  14. Junio C HamanoDec 15, 2008
  15. Mike RalphsonDec 15, 2008
  16. Johannes SchindelinDec 15, 2008
  17. Mike RalphsonDec 15, 2008
  18. Junio C HamanoDec 15, 2008
  19. Clemens BuchacherDec 15, 2008
  20. Junio C HamanoDec 16, 2008
  21. Jakub NarebskiDec 16, 2008
  22. Clemens BuchacherDec 28, 2008
  23. Junio C HamanoDec 28, 2008
  24. Clemens BuchacherDec 28, 2008

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.