diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-12-16 14:27:12 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-12-16 14:27:12 -0400 |
commit | 232bca99b0630603c7976f872adb05d232eb5ed8 (patch) | |
tree | 709c1e806b269acb89866c51b4d1c76bed77e105 /Annex | |
parent | 9325c324b567736772a4d52e84c3a11f7c082459 (diff) |
fix reversion in v5 git-annex add of unlocked file
In v5, lookupFile is supposed to only look at symlinks on disk (except when
in direct mode).
Note that v6 also has a bug when a locked file's symlink is deleted and is
replaced with a new file. It sees that a link is staged and gets that
key.
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/WorkTree.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Annex/WorkTree.hs b/Annex/WorkTree.hs index 26144e7f9..c824e7fc5 100644 --- a/Annex/WorkTree.hs +++ b/Annex/WorkTree.hs @@ -10,6 +10,8 @@ module Annex.WorkTree where import Common.Annex import Annex.Link import Annex.CatFile +import Annex.Version +import Config {- Looks up the key corresponding to an annexed file, - by examining what the file links to. @@ -22,7 +24,10 @@ lookupFile file = do mkey <- isAnnexLink file case mkey of Just key -> makeret key - Nothing -> maybe (return Nothing) makeret =<< catKeyFile file + Nothing -> ifM (versionSupportsUnlockedPointers <||> isDirect) + ( maybe (return Nothing) makeret =<< catKeyFile file + , return Nothing + ) where makeret = return . Just |