diff options
author | Joey Hess <joey@kitenet.net> | 2010-10-23 13:18:47 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-10-23 13:18:47 -0400 |
commit | 9dfbf40d1a8493ec191f8e79410ed9d2a9508141 (patch) | |
tree | f740095602d3f7733bdc3cccf598f699fdc2815f /Core.hs | |
parent | 5a91543be33719d6da7b53c4c449be8f75481375 (diff) |
reorg remote key presense checking code
Also, it now checks if a key is inAnnex, ie, cached in .git/annex, not if
it is present in a remote. For the File Backend, these are equivilant, not
so for other backends.
Diffstat (limited to 'Core.hs')
-rw-r--r-- | Core.hs | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -62,11 +62,19 @@ gitAttributes repo = do Git.run repo ["commit", "-m", "git-annex setup", attributes] -{- Checks if a given key is currently present in the annexLocation -} +{- Checks if a given key is currently present in the annexLocation. + - + - This can be run against a remote repository to check the key there. -} inAnnex :: Key -> Annex Bool inAnnex key = do g <- Annex.gitRepo - liftIO $ doesFileExist $ annexLocation g key + if (not $ Git.repoIsUrl g) + then liftIO $ doesFileExist $ annexLocation g key + else do + showNote ("checking " ++ Git.repoDescribe g ++ "...") + liftIO $ boolSystem "ssh" [Git.urlHost g, + "test -e " ++ + (shellEscape $ annexLocation g key)] {- Calculates the relative path to use to link a file to a key. -} calcGitLink :: FilePath -> Key -> Annex FilePath |