CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
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
Annex multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
Assistant Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
Backend AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Build Linux standalone builds put the bundled ssh last in PATH, so any system ssh will be preferred over it. 2017-03-02 17:40:40 -04:00
CmdLine multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
Command Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
Config annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
Database factor non-type stuff out of Key 2017-02-24 13:42:30 -04:00
debian refreshed standalone debian pkg patch for uftp being added to suggests 2017-04-03 15:58:10 -04:00
doc Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
Git fix GIT_SSH_COMMAND -n parameter 2017-03-20 14:23:19 -04:00
Limit AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Logs multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
Messages factor non-type stuff out of Key 2017-02-24 13:42:30 -04:00
P2P AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Remote When a http remote does not expose an annex.uuid config, only warn about it once, not every time git-annex is run. 2017-03-29 12:43:47 -04:00
RemoteDaemon Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
standalone correct spelling mistakes 2017-02-12 17:30:23 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Types Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
Upgrade squelch a couple of warnings about moveAnnex return code 2017-02-28 12:49:17 -04:00
Utility multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore gitignore git-annex-shell 2017-03-17 19:19:10 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs get -J: Improve distribution of jobs amoung remotes when there are more jobs than remotes. 2017-03-08 14:49:30 -04:00
Assistant.hs remove xmpp support 2016-11-14 14:53:08 -04:00
Backend.hs convert error to giveup 2017-03-01 12:35:16 -04:00
bash-completion.bash fix bash completion of filenames containing spaces 2015-07-20 11:17:35 -04:00
build.bat let build.bat also be run from cygwin terminal 2015-04-21 14:12:14 -04:00
BuildFlags.hs remove xmpp support 2016-11-14 14:53:08 -04:00
CHANGELOG Added remote.<name>.annex-push and remote.<name>.annex-pull 2017-04-05 13:22:35 -04:00
CmdLine.hs Make --json and --quiet suppress automatic init messages 2016-09-05 15:34:38 -04:00
Command.hs make query commands not output extraneous messages 2017-02-16 13:24:35 -04:00
Common.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
Config.hs annex.autocommit can be configured via git-annex config 2017-02-03 13:58:53 -04:00
COPYRIGHT relicense Utility/GPG.hs BSD as the rest of Utility is 2017-03-10 15:08:21 -04:00
Creds.hs finish git-annex enable-tor 2016-11-29 17:30:27 -04:00
Crypto.hs add KeyVariety type 2017-02-24 15:16:56 -04:00
ghci avoid tab warnings from ghc 8 2016-11-17 13:39:30 -04:00
git-annex.cabal multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
git-annex.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
git-union-merge.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
Git.hs Propigate GIT_DIR and GIT_WORK_TREE environment to external special remotes. 2016-05-06 12:26:44 -04:00
Jenkinsfile Add initial Jenkins pipeline script 2016-12-01 12:05:26 -04:00
Key.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Limit.hs securehash matching 2017-02-27 15:02:44 -04:00
Logs.hs multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
Makefile test needs git-annex-shell symlink 2017-03-18 16:05:22 -04:00
Messages.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
NEWS releasing package git-annex version 6.20170228 2017-02-28 14:41:57 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Setup.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
stack.yaml stack.yaml: Update to lts-8.6. 2017-03-27 20:01:46 -04:00
Test.hs improve git-annex-shell exit status propigation 2017-03-20 12:45:10 -04:00
Types.hs AssociatedFile newtype 2017-03-10 13:35:31 -04:00
Upgrade.hs Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -04:00

git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

For documentation, see doc/ or <https://git-annex.branchable.com/>