commit git-annex branch when copying to a remote (locally)
Otherwise, the location log changes are only staged in its index, and this can confuse matters if pulling or cloning from the remote. The test suite was failing because this wasn't done.
This commit is contained in:
parent
c0fbd3017f
commit
c4e6730042
3 changed files with 13 additions and 8 deletions
|
@ -19,7 +19,7 @@ import Control.Monad (when)
|
|||
import qualified Annex
|
||||
import qualified AnnexQueue
|
||||
import qualified GitRepo as Git
|
||||
import qualified Branch
|
||||
import Content
|
||||
import Types
|
||||
import Command
|
||||
import BackendList
|
||||
|
@ -103,9 +103,6 @@ startup = do
|
|||
{- Cleanup actions. -}
|
||||
shutdown :: Annex Bool
|
||||
shutdown = do
|
||||
AnnexQueue.flush False
|
||||
Branch.commit "update"
|
||||
|
||||
saveState
|
||||
liftIO $ Git.reap
|
||||
|
||||
return True
|
||||
|
|
11
Content.hs
11
Content.hs
|
@ -19,7 +19,8 @@ module Content (
|
|||
removeAnnex,
|
||||
fromAnnex,
|
||||
moveBad,
|
||||
getKeysPresent
|
||||
getKeysPresent,
|
||||
saveState
|
||||
) where
|
||||
|
||||
import System.IO.Error (try)
|
||||
|
@ -37,6 +38,8 @@ import LocationLog
|
|||
import UUID
|
||||
import qualified GitRepo as Git
|
||||
import qualified Annex
|
||||
import qualified AnnexQueue
|
||||
import qualified Branch
|
||||
import Utility
|
||||
import StatFS
|
||||
import Types.Key
|
||||
|
@ -263,3 +266,9 @@ getKeysPresent' dir = do
|
|||
case result of
|
||||
Right s -> return $ isRegularFile s
|
||||
Left _ -> return False
|
||||
|
||||
{- Things to do to record changes to content. -}
|
||||
saveState :: Annex ()
|
||||
saveState = do
|
||||
AnnexQueue.flush False
|
||||
Branch.commit "update"
|
||||
|
|
|
@ -17,7 +17,6 @@ import Types
|
|||
import Types.Remote
|
||||
import qualified GitRepo as Git
|
||||
import qualified Annex
|
||||
import qualified AnnexQueue
|
||||
import Locations
|
||||
import UUID
|
||||
import Utility
|
||||
|
@ -147,7 +146,7 @@ copyToRemote r key
|
|||
Annex.eval a $ do
|
||||
ok <- Content.getViaTmp key $
|
||||
rsyncOrCopyFile r keysrc
|
||||
AnnexQueue.flush True
|
||||
Content.saveState
|
||||
return ok
|
||||
| Git.repoIsSsh r = do
|
||||
g <- Annex.gitRepo
|
||||
|
|
Loading…
Reference in a new issue