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

Re: git-add fails after file type change

From
Jakub Narebski <jnareb@gmail.com>
Date
Dec 16, 2006, 18:31 UTC
Message-ID
<em1e1v$lse$1@sea.gmane.org>
In-Reply-To
<458437E0.1050501@midwinter.com>
Steven Grimm wrote:
Show 18 quoted lines
> In the course of experimenting with using git for my snapshot backups, I 
> ran into what looks like a bug in git-add: it croaks when it tries to 
> add a file whose type has changed, specifically when a directory gets 
> moved and a symbolic link is put in the old location pointing to the new 
> one. Here's a simple test case:
> 
> $ git init-db
> defaulting to local storage area
> $ mkdir dir
> $ echo foo > dir/file
> $ git add .
> $ git commit -m "initial commit" -a
> Committing initial tree f4bc9c50d08b041f5e096fa68e243c34170f1cd8
>  create mode 100644 dir/file
> $ mv dir dir.real
> $ ln -s dir.real dir
> $ git add .
> fatal: unable to add dir to index
Works if you use "git mv dir dir.real".

$ git init-db defaulting to local storage area $ mkdir dir $ echo foo > dir/file $ git add . $ git commit -m "initial commit" -a Committing initial tree f4bc9c50d08b041f5e096fa68e243c34170f1cd8 $ git mv dir dir.real $ ln -s dir.real dir $ git add . $ git commit -m "second commit" -a $ git ls-tree HEAD 120000 blob e05f72eddb14362b836c3612c13d441b097a065a dir 040000 tree 4a1c03029e7407c0afe9fc0320b3258e188b115e dir.real

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Previous: Steven GrimmNext: Steven Grimm
Message 2 of 11 in “git-add fails after file type change”
  1. Steven GrimmDec 16, 2006
  2. Jakub NarebskiDec 16, 2006
  3. Steven GrimmDec 16, 2006
  4. A Large Angry SCMDec 16, 2006
  5. Junio C HamanoDec 16, 2006
  6. Steven GrimmDec 16, 2006
  7. Steven GrimmDec 17, 2006
  8. Junio C HamanoDec 17, 2006
  9. Junio C HamanoDec 17, 2006
  10. git-add: remove conflicting entry when adding.Junio C Hamano, Dec 17, 2006
  11. Junio C HamanoDec 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.