git-annex/Annex
Joey Hess 07580dc3df 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.)
2013-04-23 17:14:28 -04:00
..
Content Bugfix: Direct mode no longer repeatedly checksums duplicated files. 2013-04-06 16:07:25 -04:00
Branch.hs hlint 2013-04-03 03:52:41 -04:00
BranchState.hs remove git-annex branch read cache 2012-10-19 14:25:15 -04:00
CatFile.hs work around a very strange git-cat-file behavior 2013-01-05 17:06:24 -04:00
CheckAttr.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
Content.hs implement massReplace 2013-04-08 23:56:37 -04:00
Direct.hs sync: Bug fix, avoid adding to the annex the dummy symlinks used on crippled filesystems. 2013-04-23 17:14:28 -04:00
Environment.hs Detect systems that have no user name set in GECOS, and also don't have user.name set in git config, and put in a workaround so that commits to the git-annex branch (and the assistant) will still succeed despite git not liking the system configuration. 2013-04-22 15:36:34 -04:00
Exception.hs fixes for transfer resume 2012-09-24 13:18:16 -04:00
FileMatcher.hs hlint 2013-04-03 03:52:41 -04:00
Journal.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
Link.hs Update working tree files fully atomically 2013-04-02 15:02:00 -04:00
LockPool.hs finished where indentation changes 2012-12-13 00:24:19 -04:00
Perms.hs fix 2013-02-24 17:40:14 -04:00
Queue.hs type based git config handling for remotes 2013-01-01 13:58:14 -04:00
Ssh.hs Allow rsync to use other remote shells. 2013-04-13 19:26:24 -04:00
TaggedPush.hs expose Control.Monad.join 2013-04-22 20:24:53 -04:00
UUID.hs Now uses the Haskell uuid library, rather than needing a uuid program. 2013-02-10 14:52:54 -04:00
Version.hs annex.version is now set to 4 for direct mode repositories 2013-02-26 15:13:10 -04:00
Wanted.hs --auto fixes 2012-12-06 13:22:16 -04:00