[[!comment format=mdwn username="arand" ip="130.243.226.21" subject="comment 5" date="2013-08-12T21:50:47Z" content=""" Hmm, I think I see it now, you were missing a `rm` command in the log, and I had no idea the pre-commit hook existed :) This reproduces the issue, and it seems to indeed be a bug in the git-annex pre-commit handling, nice catch.
$ git init temp Initialized empty Git repository in /home/arand/tmp/temp/.git/ $ cd temp && git annex init init ok (Recording state in git...) $ ln -s broken link $ git add . $ git commit -m\"add broken link\" [master (root-commit) 8125488] add broken link 1 file changed, 1 insertion(+) create mode 120000 link $ rm link $ echo \"actual file\" >link $ git add . $ git commit -m\"replace link with real file\" add link (checksum...) ok ok (Recording state in git...) [master b58b068] replace link with real file 1 file changed, 1 insertion(+), 1 deletion(-) $ git diff HEAD~ | cat diff --git a/link b/link index 86a410d..4104f6e 120000 --- a/link +++ b/link @@ -1 +1 @@ -broken \ No newline at end of file +.git/annex/objects/v4/GQ/SHA256E-s12--ef29ded6f5ae80d89a838d37e01ed3efaade7a2994aff87d1100697554b7327b/SHA256E-s12--ef29ded6f5ae80d89a838d37e01ed3efaade7a2994aff87d1100697554b7327b \ No newline at end of file $"""]]