summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-03-01 13:23:44 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-03-01 13:23:44 -0400
commitbe4af85f98c45888a2ab3436642850bdfb3db721 (patch)
tree23ad8e048dcf88da1c2b2411ce9e7ebf9ff7bc2c
parente2e4096a28042327ccb905b80ec0cbf550f88c61 (diff)
a slightly annoying thing
-rw-r--r--doc/bugs/git_rename_detection_on_file_move.mdwn13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/bugs/git_rename_detection_on_file_move.mdwn b/doc/bugs/git_rename_detection_on_file_move.mdwn
new file mode 100644
index 000000000..76f1e098e
--- /dev/null
+++ b/doc/bugs/git_rename_detection_on_file_move.mdwn
@@ -0,0 +1,13 @@
+It's unfortunate that git-annex sorta defeats git's rename detection.
+
+When an annexed file is moved to a different directory (specifically, a
+directory that is shallower or deeper than the old directory),
+the symlink often has to change. And so git log cannot --follow back
+through the rename history, since all it has to go on is that symlink,
+which it effectively sees as a one line file containing the symlink target.
+
+One way to fix this might be to do the `git annex fix` *after* the rename
+is committed. This would mean that a commit would result in new staged
+changes for another commit, which is perhaps startling behavior.
+
+The other way to fix it is to stop using symlinks, see [[todo/smudge]].