diff options
author | 2013-04-23 17:13:09 -0400 | |
---|---|---|
committer | 2013-04-23 17:14:28 -0400 | |
commit | 7b3dee7e718e8b19fb9b2458fc507ffb5f4fbcba (patch) | |
tree | 8c990068677b4a32b9ee12b40967036023229f34 /debian | |
parent | 32f77d97001aa52561bc35060027839bbd184972 (diff) |
sync: Bug fix, avoid adding to the annex the dummy symlinks used on crippled filesystems.
The root of the problem is that toInodeCache sees a non-symlink, and so
goes on and generates a new inode cache for the dummy symlink.
Any place that toInodeCache, or sameFileStatus, or genInodeCache are called
may need to deal with this case. Although many of them are ok. For example,
prepSendAnnex calls sameInodeCache, which calls genInodeCache.. but if
the file content is not present, the InodeCache generated for its standin
file is appropriately not the same, and so it returns Nothing.
I've audited some, but have to say I'm not happy with this; it should be
handled at the type level somehow, or a toInodeCache wrapper be used that
is aware of dummy symlinks.
(The Watcher already dealt with it, via the guardSymlinkStandin function.)
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index f744f09e0..fa4c5cfb7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,8 @@ git-annex (4.20130418) UNRELEASED; urgency=low * assistant: When built with git before 1.8.0, use `git remote rm` to delete a remote. Newer git uses `git remote remove`. * rmurl: New command, removes one of the recorded urls for a file. + * sync: Bug fix, avoid adding to the annex the + dummy symlinks used on crippled filesystems. -- Joey Hess <joeyh@debian.org> Thu, 18 Apr 2013 16:22:48 -0400 |