git-annex pull and push
Split out two new commands, git-annex pull and git-annex push. Those plus a git commit are equivilant to git-annex sync. In a sense, git-annex sync conflates 3 things, and it would have been better to have push and pull from the beginning and not sync. Although note that git-annex sync --content is faster than a pull followed by a push, because it only has to walk the tree once, look at preferred content once, etc. So there is some value in git-annex sync in speed, as well as user convenience. And it would be hard to split out pull and push from sync, as far as the implementaton goes. The implementation inside sync was easy, just adjust SyncOptions so it does the right thing. Note that the new commands default to syncing content, unless annex.synccontent is explicitly set to false. I'd like sync to also do that, but that's a hard transition to make. As a start to that transition, I added a note to git-annex-sync.mdwn that it may start to do so in a future version of git-annex. But a real transition would necessarily involve displaying warnings when sync is used without --content, and time. Sponsored-by: Kevin Mueller on Patreon
This commit is contained in:
parent
b1c396a695
commit
5df89d58c7
16 changed files with 482 additions and 210 deletions
|
@ -93,7 +93,7 @@ data GitConfig = GitConfig
|
|||
, annexHttpHeadersCommand :: Maybe String
|
||||
, annexAutoCommit :: GlobalConfigurable Bool
|
||||
, annexResolveMerge :: GlobalConfigurable Bool
|
||||
, annexSyncContent :: GlobalConfigurable Bool
|
||||
, annexSyncContent :: GlobalConfigurable (Maybe Bool)
|
||||
, annexSyncOnlyAnnex :: GlobalConfigurable Bool
|
||||
, annexDebug :: Bool
|
||||
, annexDebugFilter :: Maybe String
|
||||
|
@ -181,7 +181,7 @@ extractGitConfig configsource r = GitConfig
|
|||
getmaybebool (annexConfig "autocommit")
|
||||
, annexResolveMerge = configurable True $
|
||||
getmaybebool (annexConfig "resolvemerge")
|
||||
, annexSyncContent = configurable False $
|
||||
, annexSyncContent = configurablemaybe $
|
||||
getmaybebool (annexConfig "synccontent")
|
||||
, annexSyncOnlyAnnex = configurable False $
|
||||
getmaybebool (annexConfig "synconlyannex")
|
||||
|
@ -287,6 +287,11 @@ extractGitConfig configsource r = GitConfig
|
|||
configurable _ (Just v) = case configsource of
|
||||
FromGitConfig -> HasGitConfig v
|
||||
FromGlobalConfig -> HasGlobalConfig v
|
||||
|
||||
configurablemaybe Nothing = DefaultConfig Nothing
|
||||
configurablemaybe (Just v) = case configsource of
|
||||
FromGitConfig -> HasGitConfig (Just v)
|
||||
FromGlobalConfig -> HasGlobalConfig (Just v)
|
||||
|
||||
onemegabyte = 1000000
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue