diff options
author | Joey Hess <joey@kitenet.net> | 2012-02-25 16:11:47 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-02-25 16:18:55 -0400 |
commit | 1f73db3469e29448bcb1520893de11b23da6fb1f (patch) | |
tree | b16fe0b9552818d16067e7cbb7c3403b73fe5e94 /Command | |
parent | b49c0c2633d662a7c91a609aec74f95f189129ad (diff) |
improve alwayscommit=false mode
Now changes are staged into the branch's index, but not committed,
which avoids growing a large journal. And sync and merge always
explicitly commit, ensuring that even when they do nothing else,
they commit the staged changes.
Added a flag file to indicate that the branch's journal contains
uncommitted changes. (Could use git ls-files, but don't want to run
that every time.)
In the future, this ability to have uncommitted changes staged in the
journal might be used on remotes after a series of oneshot commands.
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Merge.hs | 2 | ||||
-rw-r--r-- | Command/Sync.hs | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/Command/Merge.hs b/Command/Merge.hs index c1f7e899a..0f4661497 100644 --- a/Command/Merge.hs +++ b/Command/Merge.hs @@ -26,4 +26,6 @@ start = do perform :: CommandPerform perform = do Annex.Branch.update + -- commit explicitly, in case no remote branches were merged + Annex.Branch.commit "update" next $ return True diff --git a/Command/Sync.hs b/Command/Sync.hs index 8e237ae84..f7ebba6f5 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -75,6 +75,7 @@ commit = do showStart "commit" "" next $ next $ do showOutput + Annex.Branch.commit "update" -- Commit will fail when the tree is clean, so ignore failure. _ <- inRepo $ Git.Command.runBool "commit" [Param "-a", Param "-m", Param "git-annex automatic sync"] |