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 f0ec725234
include buildid in LOCPATH
This avoids the possibility that the bundle could be updated in place,
leading to LOCPATH existing but containing locales for the old version,
which needed to be tested for with code that was not race-free.

LOCPATH/buildid is still written and checked when cleaning up stale caches.
That is not actually necessary, except old versions of the standalone
bundle expect to see it, and this prevents them cleaning up the locale
cache of a new version. And still checking it prevents the new version
cleaning up the locale cache of the old version while the old version is
still in use.

Added explicit tests before creating LOCPATH and the base and buildid files.

The buildid file no longer needs to be updated every time, because it's
stable for the given LOCPATH directory.

And the base file actually did not need to be updated every time,
because the LOCPATH is derived from base, so if the bundle is moved
elsewhere, a different LOCPATH will be used.

Transitioning to this will mean that two git-annex builds that otherwise
have the same buildid -- the same git-annex md5sum -- will use different
LOCPATH values, but that's handled fine by the cache cleanup code, so at
most it will mean one extra generation of the locale files.
2020-10-05 14:04:49 -04:00
Annex avoid git check-ignore overhead on importing known files 2020-09-30 11:20:44 -04:00
Assistant cache remote.log 2020-09-22 13:52:26 -04:00
Backend types for async protocol extension 2020-08-12 12:04:12 -04:00
Build fix build failure on i386-ancient 2020-08-10 16:49:09 -04:00
CmdLine allow matching on files whose content is not present 2020-09-28 11:17:46 -04:00
Command import: Check gitignores when importing trees from special remotes 2020-09-30 10:41:59 -04:00
Config rename Configurable for clarity 2020-09-16 11:16:48 -04:00
Database remove unused import 2020-10-02 13:45:09 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc include buildid in LOCPATH 2020-10-05 14:04:49 -04:00
Git remove zombie process in file seeking 2020-09-25 11:38:42 -04:00
Limit split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
Logs explicitly wait for a git process 2020-09-25 11:03:12 -04:00
Messages add "input" field to json output 2020-09-15 16:22:44 -04:00
P2P avoid failure to lock content of removed file causing drop etc to fail 2020-07-25 11:59:33 -04:00
Remote Parse youtube-dl progress output 2020-09-29 17:53:48 -04:00
RemoteDaemon add back git-annex branch read cache 2020-07-06 12:22:33 -04:00
standalone include buildid in LOCPATH 2020-10-05 14:04:49 -04:00
static
templates
Test remove reapZombies 2020-09-25 11:50:38 -04:00
Types split ProvidedInfo and UserProvidedInfo 2020-09-28 12:12:38 -04:00
Upgrade add import 2020-09-29 13:51:51 -04:00
Utility Parse youtube-dl progress output 2020-09-29 17:53:48 -04:00
.ghci
.gitattributes
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap
Annex.hs cache remote.log 2020-09-22 13:52:26 -04:00
Assistant.hs add back git-annex branch read cache 2020-07-06 12:22:33 -04:00
Backend.hs external backends wip 2020-07-29 15:23:18 -04:00
bash-completion.bash
Benchmark.hs remove reapZombies 2020-09-25 11:50:38 -04:00
build.bat
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs
CHANGELOG runshell: Update files atomically when preparing to run git-annex 2020-10-05 13:38:34 -04:00
CmdLine.hs audit all uses of SomeException to avoid catching async exceptions 2020-06-05 15:16:57 -04:00
Command.hs add SeekInput (not yet used) 2020-09-15 15:41:13 -04:00
Common.hs
Config.hs build warnings 2020-07-01 14:30:08 -04:00
COPYRIGHT update 2020-07-20 14:27:14 -04:00
Creds.hs remove redundant imports 2020-06-22 11:05:34 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
git-annex.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
git-union-merge.hs
Git.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Jenkinsfile
Key.hs encoding a git sha as a git-annex key 2020-06-23 14:25:39 -04:00
Limit.hs import --no-content: Check annex.largefiles 2020-09-28 13:28:57 -04:00
Logs.hs cache one more log file for metadata 2020-07-07 14:18:55 -04:00
Makefile switch to md5sum for buildid 2020-10-05 13:45:27 -04:00
Messages.hs Improve the "Try making some of these repositories available" message 2020-09-22 14:10:30 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README
Remote.hs Improve the "Try making some of these repositories available" message 2020-09-22 14:10:30 -04:00
Setup.hs
stack.yaml update to lts-16.16 2020-10-02 16:39:10 -04:00
Test.hs fix reversion in skipping deleted files 2020-07-19 21:25:01 -04:00
Types.hs
Upgrade.hs add gitAnnexChildProcess and use instead of incorrect use of runsGitAnnexChildProcess 2020-08-25 14:57:49 -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/>