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.)
This commit is contained in:
parent
16503f5692
commit
07580dc3df
2 changed files with 18 additions and 6 deletions
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue