git-annex/Assistant
Joey Hess 29e73f76ef
Added remote.<name>.annex-push and remote.<name>.annex-pull
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.
2017-04-05 13:22:35 -04:00
..
Alert remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Install avoid warnings about not exported System.Directory.isSymbolicLink 2016-04-28 15:18:11 -04:00
Pairing switch away from deprecated interface 2016-09-05 14:39:44 -04:00
Threads AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Types remove xmpp support 2016-11-14 14:53:08 -04:00
WebApp AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Alert.hs fix tricky warning with ghc 8 2016-11-15 18:51:07 -04:00
BranchChange.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Changes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Commits.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Common.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
CredPairCache.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
DaemonStatus.hs remove xmpp support 2016-11-14 14:53:08 -04:00
DeleteRemote.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Drop.hs add VerifiedCopy data type 2015-10-08 16:55:11 -04:00
Fsck.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
Gpg.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
Install.hs make assistant not write wrappers when GIT_ANNEX_PACKAGE_INSTALL is set 2016-04-27 14:05:46 -04:00
MakeRemote.hs add SetupStage parameter to RemoteType.setup 2017-02-07 14:55:58 -04:00
Monad.hs remove xmpp support 2016-11-14 14:53:08 -04:00
NamedThread.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Pairing.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Pushes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
RemoteControl.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Repair.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
RepoProblem.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Restart.hs Relicense 5 source files that are not part of the webapp from AGPL to GPL. 2016-11-21 23:46:59 -04:00
ScanRemotes.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Ssh.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Sync.hs Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
TransferQueue.hs get, move, copy, mirror: Added --failed switch which retries failed copies/moves 2016-08-03 12:37:12 -04:00
TransferrerPool.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
TransferSlots.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Unused.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Upgrade.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
WebApp.hs unified AuthToken type between webapp and tor 2016-11-22 14:18:34 -04:00