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

Git can't merge two identical move file operation

From
ALAlexander Litvinov <litvinov2004@gmail.com>
Date
Nov 16, 2006, 10:26 UTC
Message-ID
<6e1787fe0611160226r2d51d980t6899f1a1018b5fe5@mail.gmail.com>
Hello,

I have a git repo build using cvsimport. It has 'bad' directory structure and I want to 'fix' it after each incremental update from cvs. Here is the idea: I have 2 permanent branches master (to work with) and cvs (to import from cvs) and one temporary branch to move files across the project to make directory structure better. Movement operation is always the same: move directories/files from one place to another. But merging from temp branch to work branch fail with error text : CONFLICT (rename/delete): Rename a->b/a in HEAD and deleted in 791371

Here is the example script:
>git version
git version 1.4.4
> mkdir 1 && cd 1 && git init-db
defaulting to local storage area
> echo 1 > a && git add a && git commit -a -m '1'
Committing initial tree 2ce1eef76631e82282e0f7f0cf9e6f3e9a4a0b1e
> git checkout -b fix
> mkdir b && git mv a b/ && git commit -a -m 'fix 1'
> git checkout -b work master
> git pull . fix
Updating 7be4ab0..d4909bb
Fast forward
 a => b/a |    0
 1 files changed, 0 insertions(+), 0 deletions(-)
 rename a => b/a (100%)
Show 6 quoted lines
> git checkout -f master
> echo 2 >> a && git commit -a -m '2'
> git checkout -b fix2 master
> mkdir b && git mv a b/ && git commit -a -m 'fix 2'
> git checkout -f work
> git pull . fix2

Trying really trivial in-index merge... fatal: Merge requires file-level merging Nope. Merging HEAD with 791371d91c34bc45b289319d96ebf35c8be385a0 Merging: d4909bb fix 1 791371d fix 2 found 1 common ancestor(s): 7be4ab0 1 CONFLICT (rename/delete): Rename a->b/a in HEAD and deleted in 791371d91c34bc45b289319d96ebf35c8be385a0 Automatic merge failed; fix conflicts and then commit the result.

>
Bot fix and fix2 are temp branches and supposed to be deleted.

Why git can't merge such changes ? It should know that work holds renamed version of file a from master and fix2 holds new renamed file a from master too. Why it can't apply changes of a from master to work

Next: Junio C Hamano
Message 1 of 5 in “Git can't merge two identical move file operation”
  1. Alexander LitvinovNov 16, 2006
  2. Junio C HamanoNov 16, 2006
  3. Alexander LitvinovNov 16, 2006
  4. Alexander LitvinovNov 16, 2006
  5. Alexander LitvinovNov 16, 2006

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.