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
f0ec725234
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. |
||
---|---|---|
Annex | ||
Assistant | ||
Backend | ||
Build | ||
CmdLine | ||
Command | ||
Config | ||
Database | ||
debian | ||
doc | ||
Git | ||
Limit | ||
Logs | ||
Messages | ||
P2P | ||
Remote | ||
RemoteDaemon | ||
standalone | ||
static | ||
templates | ||
Test | ||
Types | ||
Upgrade | ||
Utility | ||
.ghci | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
Annex.hs | ||
Assistant.hs | ||
Backend.hs | ||
bash-completion.bash | ||
Benchmark.hs | ||
build.bat | ||
BuildFlags.hs | ||
BuildInfo.hs | ||
CHANGELOG | ||
CmdLine.hs | ||
Command.hs | ||
Common.hs | ||
Config.hs | ||
COPYRIGHT | ||
Creds.hs | ||
Crypto.hs | ||
git-annex.cabal | ||
git-annex.hs | ||
git-union-merge.hs | ||
Git.hs | ||
Jenkinsfile | ||
Key.hs | ||
Limit.hs | ||
Logs.hs | ||
Makefile | ||
Messages.hs | ||
NEWS | ||
README | ||
Remote.hs | ||
Setup.hs | ||
stack.yaml | ||
Test.hs | ||
Types.hs | ||
Upgrade.hs |
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/>