29e73f76ef
The former can be useful to make remotes that don't get fully synced with local changes, which comes up in a lot of situations. The latter was mostly added for symmetry, but could be useful (though less likely to be). Implementing `remote.<name>.annex-pull` was a bit tricky, as there's no one place where git-annex pulls/fetches from remotes. I audited all instances of "fetch" and "pull". A few cases were left not checking this config: * Git.Repair can try to pull missing refs from a remote, and if the local repo is corrupted, that seems a reasonable thing to do even though the config would normally prevent it. * Assistant.WebApp.Gpg and Remote.Gcrypt and Remote.Git do fetches as part of the setup process of a remote. The config would probably not be set then, and having the setup fail seems worse than honoring it if it is already set. I have not prevented all the code that does a "merge" from merging branches from remotes with remote.<name>.annex-pull=false. That could perhaps be done, but it would need a way to map from branch name to remote name, and the way refspecs work makes that hard to get really correct. So if the user fetches manually, the git-annex branch will get merged, for example. Anther way of looking at/justifying this is that the setting is called "annex-pull", not "annex-merge". This commit was supported by the NSF-funded DataLad project. |
||
---|---|---|
.. | ||
Alert | ||
Install | ||
Pairing | ||
Threads | ||
Types | ||
WebApp | ||
Alert.hs | ||
BranchChange.hs | ||
Changes.hs | ||
Commits.hs | ||
Common.hs | ||
CredPairCache.hs | ||
DaemonStatus.hs | ||
DeleteRemote.hs | ||
Drop.hs | ||
Fsck.hs | ||
Gpg.hs | ||
Install.hs | ||
MakeRemote.hs | ||
Monad.hs | ||
NamedThread.hs | ||
Pairing.hs | ||
Pushes.hs | ||
RemoteControl.hs | ||
Repair.hs | ||
RepoProblem.hs | ||
Restart.hs | ||
ScanRemotes.hs | ||
Ssh.hs | ||
Sync.hs | ||
TransferQueue.hs | ||
TransferrerPool.hs | ||
TransferSlots.hs | ||
Unused.hs | ||
Upgrade.hs | ||
WebApp.hs |