git-annex/Types
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
..
ActionItem.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Availability.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Backend.hs add KeyVariety type 2017-02-24 15:16:56 -04:00
BranchState.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
CleanupActions.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Command.hs Make --json and --quiet suppress automatic init messages 2016-09-05 15:34:38 -04:00
Concurrency.hs disentangle concurrency and message type 2016-09-09 12:57:42 -04:00
Creds.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
Crypto.hs Added new encryption=sharedpubkey mode for special remotes. 2016-05-10 16:50:31 -04:00
DeferredParse.hs fix build warnings under ghc 7.10 2015-12-19 17:42:45 -04:00
DesktopNotify.hs rejigger imports for clean build with ghc 7.10's AMP changes 2015-05-10 16:20:30 -04:00
Difference.hs 4 ns optimisation of repeated calls to hasDifference on the same Differences 2015-06-11 16:34:35 -04:00
Distribution.hs fix build with old ghc 2017-02-28 12:44:33 -04:00
FileMatcher.hs matchexpression: Added --largefiles option to parse an annex.largefiles expression. 2016-02-03 16:58:36 -04:00
GitConfig.hs Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
Group.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
Key.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
KeySource.hs refactoring 2015-12-22 13:42:58 -04:00
LockCache.hs convert from Utility.LockPool to Annex.LockPool everywhere 2015-11-12 18:13:37 -04:00
Messages.hs drop incremental json object display; clean up code 2016-09-09 18:13:55 -04:00
MetaData.hs Added metadata --batch option, which allows getting, setting, deleting, and modifying metadata for multiple files/keys. 2016-07-27 10:46:25 -04:00
NumCopies.hs Get rid of unnecessary Monad constraint 2016-01-28 12:34:07 -04:00
RefSpec.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Remote.hs add SetupStage parameter to RemoteType.setup 2017-02-07 14:55:58 -04:00
ScheduledActivity.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
StandardGroups.hs adjust standard preferred content to work better with git annex sync --all --content 2015-06-16 17:18:53 -04:00
StoreRetrieve.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00
Test.hs test suite infra for testing mocked ssh remotes 2017-03-17 19:14:41 -04:00
Transfer.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
TrustLevel.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
UrlContents.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
UUID.hs implementation of peer-to-peer protocol 2016-11-17 18:30:50 -04:00
View.hs remove 163 lines of code without changing anything except imports 2016-01-20 16:36:33 -04:00