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 3159da2693 Add and use numcopiesneeded preferred content expression.
* Add numcopiesneeded preferred content expression.
* Client, transfer, incremental backup, and archive repositories
  now want to get content that does not yet have enough copies.

This means the asssistant will make copies of files that don't yet
meet the configured numcopies, even to places that would not normally want
the file.

For example, if numcopies is 4, and there are 2 client repos and
2 transfer repos, and 2 removable backup drives, the file will be sent
to both transfer repos in order to make 4 copies. Once a removable drive
get a copy of the file, it will be dropped from one transfer repo or the
other (but not both).

Another example, numcopies is 3 and there is a client that has a backup
removable drive and two small archive repos. Normally once one of the small
archives has a file, it will not be put into the other one. But, to satisfy
numcopies, the assistant will duplicate it into the other small archive
too, if the backup repo is not available to receive the file.

I notice that these examples are fairly unlikely setups .. the old behavior
was not too bad, but it's nice to finally have it really correct.

.. Almost. I have skipped checking the annex.numcopies .gitattributes
out of fear it will be too slow.

This commit was sponsored by Florian Schlegel.
2014-01-20 17:35:29 -04:00
Annex Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
Assistant global numcopies setting 2014-01-20 16:47:56 -04:00
Backend import: Add --skip-duplicates option. 2013-12-04 13:13:30 -04:00
Build fix install_name_tool library name replacement 2014-01-15 13:05:07 -04:00
Command global numcopies setting 2014-01-20 16:47:56 -04:00
Common Use lower case hash directories for storing files on crippled filesystems, same as is already done for bare repositories. 2013-04-04 15:46:33 -04:00
Config move programPath out of Config.Files to Annex.Path 2013-11-24 16:03:03 -04:00
debian Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
doc Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
Git repair: Fix bug in packed refs file exploding code that caused a .gitrefs directory to be created instead of .git/refs 2014-01-15 16:34:18 -04:00
GitAnnex Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
Limit improve matcher data type to allow matching Keys, instead of just files (no behavior changes) 2014-01-18 14:51:55 -04:00
Logs global numcopies setting 2014-01-20 16:47:56 -04:00
Messages hlint 2013-04-03 03:52:41 -04:00
Remote sync --content: New option that makes the content of annexed files be transferred. 2014-01-19 17:49:54 -04:00
standalone work around windows apparent random dislike of removing files 2013-12-30 14:11:40 -04:00
static Tweak magic number to fix bad behavior in Firefox, which was caused by an earlier fix to bad behavior in Chromium. 2013-12-09 17:44:45 -04:00
templates don't shown non-working file browser opening UI on android 2013-12-03 13:41:23 -04:00
Types Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
Upgrade forgot to add this file 2013-12-29 16:56:20 -04:00
Utility avoid needing a build-dep on hxt for Data.AssocList 2014-01-14 16:42:10 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore update for LinuxMkLibs 2013-12-24 13:25:40 -04:00
.mailmap seed .mailmap file for more sensible git shortlog 2014-01-18 15:50:57 -04:00
Annex.hs global numcopies setting 2014-01-20 16:47:56 -04:00
Assistant.hs add support for fully automatic upgrades 2013-11-24 13:20:58 -04:00
Backend.hs Added SKEIN256 and SKEIN512 backends 2013-10-01 20:34:36 -04:00
build.bat windows build foo 2013-12-05 20:40:28 -04:00
BuildFlags.hs Allow optionally configuring git-annex with -fEKG to enable awesome remote monitoring interfaceat http://localhost:4242/ 2013-11-06 16:33:45 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs direct, indirect: Refuse to do anything when the assistant or git-annex watch daemon is running. 2013-04-22 16:41:46 -04:00
CmdLine.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Command.hs global numcopies setting 2014-01-20 16:47:56 -04:00
Common.hs clean up some ugly code 2013-09-27 19:52:36 -04:00
Config.hs global numcopies setting 2014-01-20 16:47:56 -04:00
configure.hs Rewrote free disk space checking code 2012-03-22 17:32:47 -04:00
COPYRIGHT Add link COPYRIGHT -> debian/copyright; add COPYRIGHT to sdist. 2012-06-11 23:27:00 -07:00
Creds.hs add credential storage support for external special remotes & update example 2013-12-27 16:01:43 -04:00
Crypto.hs remove *>=> and >=*> ; use <$$> instead 2013-09-27 19:58:48 -04:00
Fields.hs safe recv-key in direct mode 2013-01-11 16:03:45 -04:00
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal promote stm dependency, since Remote.External needs it 2014-01-20 14:32:06 -04:00
git-annex.hs try building test suite on windows 2013-05-17 16:45:44 -04:00
git-union-merge.hs factor out nukeFile 2012-06-06 13:13:13 -04:00
Git.hs squash compiler warnings on Windows 2013-08-04 13:18:05 -04:00
GitAnnex.hs global numcopies setting 2014-01-20 16:47:56 -04:00
GitAnnexShell.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Init.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs Add and use numcopiesneeded preferred content expression. 2014-01-20 17:35:29 -04:00
Locations.hs add git fsck to cronner, and UI for repository repair (not yet wired up) 2013-10-22 16:02:52 -04:00
Logs.hs global numcopies setting 2014-01-20 16:47:56 -04:00
Makefile git pull in distributionupdate 2014-01-03 17:11:19 -04:00
Messages.hs annex.debug can now be set to enable debug logging by default. The webapp's debugging check box does this. 2013-06-17 20:41:27 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
Option.hs Remove --json option from commands not supporting it. 2014-01-18 11:54:43 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs sync --content: New option that makes the content of annexed files be transferred. 2014-01-19 17:49:54 -04:00
RunCommand.hs much better command action handling for sync --content 2014-01-20 13:31:03 -04:00
Seek.hs fix inversion of control in CommandSeek (no behavior changes) 2014-01-20 04:57:36 -04:00
Setup.hs split out library 2013-04-17 12:02:44 -04:00
Test.hs global numcopies setting 2014-01-20 16:47:56 -04:00
Types.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
Upgrade.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
Usage.hs content: New command line way to view and configure a repository's preferred content settings. 2013-05-25 12:44:58 -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 <http://git-annex.branchable.com/>