add annex.alwayscommit option
To avoid commits of data to the git-annex branch after each command is run, set annex.alwayscommit=false. Its data will then be committed less frequently, when a merge or sync is done.
This commit is contained in:
parent
638741f49e
commit
b49c0c2633
3 changed files with 19 additions and 7 deletions
|
@ -32,6 +32,7 @@ import Common.Annex
|
||||||
import Logs.Location
|
import Logs.Location
|
||||||
import Annex.UUID
|
import Annex.UUID
|
||||||
import qualified Git
|
import qualified Git
|
||||||
|
import qualified Git.Config
|
||||||
import qualified Annex
|
import qualified Annex
|
||||||
import qualified Annex.Queue
|
import qualified Annex.Queue
|
||||||
import qualified Annex.Branch
|
import qualified Annex.Branch
|
||||||
|
@ -311,7 +312,8 @@ getKeysPresent' dir = do
|
||||||
saveState :: Bool -> Annex ()
|
saveState :: Bool -> Annex ()
|
||||||
saveState oneshot = do
|
saveState oneshot = do
|
||||||
Annex.Queue.flush False
|
Annex.Queue.flush False
|
||||||
unless oneshot $
|
alwayscommit <- Git.configTrue <$> fromRepo (Git.Config.get "annex.alwayscommit" "true")
|
||||||
|
unless (oneshot || not alwayscommit) $ do
|
||||||
Annex.Branch.commit "update"
|
Annex.Branch.commit "update"
|
||||||
|
|
||||||
{- Downloads content from any of a list of urls. -}
|
{- Downloads content from any of a list of urls. -}
|
||||||
|
|
15
debian/changelog
vendored
15
debian/changelog
vendored
|
@ -6,12 +6,6 @@ git-annex (3.20120124) UNRELEASED; urgency=low
|
||||||
* S3: Fix irrefutable pattern failure when accessing encrypted S3
|
* S3: Fix irrefutable pattern failure when accessing encrypted S3
|
||||||
credentials.
|
credentials.
|
||||||
* Use the haskell IfElse library.
|
* Use the haskell IfElse library.
|
||||||
* Avoid repeated location log commits when a remote is receiving files.
|
|
||||||
Done by adding a oneshot mode, in which location log changes are
|
|
||||||
written to the journal, but not committed. Taking advantage of
|
|
||||||
git-annex's existing ability to recover in this situation. This is
|
|
||||||
used by git-annex-shell and other places where changes are made to
|
|
||||||
a remote's location log.
|
|
||||||
* Fix teardown of stale cached ssh connections.
|
* Fix teardown of stale cached ssh connections.
|
||||||
* Fixed to use the strict state monad, to avoid leaking all kinds of memory
|
* Fixed to use the strict state monad, to avoid leaking all kinds of memory
|
||||||
due to lazy state update thunks when adding/fixing many files.
|
due to lazy state update thunks when adding/fixing many files.
|
||||||
|
@ -35,6 +29,15 @@ git-annex (3.20120124) UNRELEASED; urgency=low
|
||||||
* Store web special remote url info in a more efficient location.
|
* Store web special remote url info in a more efficient location.
|
||||||
* Deal with NFS problem that caused a failure to remove a directory
|
* Deal with NFS problem that caused a failure to remove a directory
|
||||||
when removing content from the annex.
|
when removing content from the annex.
|
||||||
|
* Avoid repeated location log commits when a remote is receiving files.
|
||||||
|
Done by adding a oneshot mode, in which location log changes are
|
||||||
|
written to the journal, but not committed. Taking advantage of
|
||||||
|
git-annex's existing ability to recover in this situation. This is
|
||||||
|
used by git-annex-shell and other places where changes are made to
|
||||||
|
a remote's location log.
|
||||||
|
* To avoid commits of data to the git-annex branch after each command
|
||||||
|
is run, set annex.alwayscommit=false. Its data will then be committed
|
||||||
|
less frequently, when a merge or sync is done.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 24 Jan 2012 16:21:55 -0400
|
-- Joey Hess <joeyh@debian.org> Tue, 24 Jan 2012 16:21:55 -0400
|
||||||
|
|
||||||
|
|
|
@ -606,6 +606,13 @@ Here are all the supported configuration settings.
|
||||||
|
|
||||||
By default, git-annex caches ssh connections. To disable this, set to `false`.
|
By default, git-annex caches ssh connections. To disable this, set to `false`.
|
||||||
|
|
||||||
|
* `annex.alwayscommit`
|
||||||
|
|
||||||
|
By default, git-annex automatically commits data to the git-annex branch
|
||||||
|
after each command is run. To disable these commits,
|
||||||
|
set to `false`. Then data will only be committed when
|
||||||
|
running `git annex merge` (or by automatic merges) or `git annex sync`.
|
||||||
|
|
||||||
* `remote.<name>.annex-cost`
|
* `remote.<name>.annex-cost`
|
||||||
|
|
||||||
When determining which repository to
|
When determining which repository to
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue