diff options
-rw-r--r-- | Command/Add.hs | 10 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/Command/Add.hs b/Command/Add.hs index 7ebf979cd..33adc8efc 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -35,14 +35,14 @@ def = [notBareRepo $ command "add" paramPaths seek "add files to annex"] seek :: [CommandSeek] seek = [ withFilesNotInGit start - , whenNotDirect $ withFilesUnlocked start + , withFilesUnlocked start ] {- The add subcommand annexes a file, generating a key for it using a - backend, and then moving it into the annex directory and setting up - the symlink pointing to its content. -} start :: FilePath -> CommandStart -start file = ifAnnexed file fixup add +start file = ifAnnexed file addpresent add where add = do s <- liftIO $ getSymbolicLinkStatus file @@ -51,7 +51,11 @@ start file = ifAnnexed file fixup add else do showStart "add" file next $ perform file - fixup (key, _) = do + addpresent (key, _) = ifM isDirect + ( ifM (goodContent key file) ( stop , add ) + , fixup key + ) + fixup key = do -- fixup from an interrupted add; the symlink -- is present but not yet added to git showStart "add" file diff --git a/debian/changelog b/debian/changelog index b4bc100f5..e4cdc4d98 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ git-annex (3.20130217) UNRELEASED; urgency=low * Android: Support ssh connection caching. * Direct mode: Support filesystems like FAT which can change their inodes each time they are mounted. + * Direct mode: Fix support for adding a modified file. -- Joey Hess <joeyh@debian.org> Sun, 17 Feb 2013 16:42:16 -0400 |