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 7981eb4cb5 fix consistency, and partially close a race during merge
Only "partially" because the journal is not locked during the merge, so
there's a small window where a different git-annex process could write info
to the journal that overwrites info taken from the merge.

That could be dealt with by locking, but the lock would really need to be
around the whole git-annex, to only let one run at a time. Otherwise, even
with the journal locked during the merge, another git-annex could already
be running, generate an overwriting change, and only store it in the journal
after the merge was complete. And similarly, two git-annex processes could
fight and overwrite each other's information independant of any merging.

So, a toplevel lock for git-annex may get added; it's something I've
considered before, as these potential, unlikely problems are not new.
(OTOH, fsck will deal with such problems.)
2011-06-23 16:05:02 -04:00
Backend avoid unnecessary read of trust.log 2011-06-23 13:39:04 -04:00
Command avoid unnecessary read of trust.log 2011-06-23 13:39:04 -04:00
debian improve post-upgrade push instructions 2011-06-23 14:51:04 -04:00
doc improve post-upgrade push instructions 2011-06-23 14:51:04 -04:00
Remote commit git-annex branch when copying to a remote (locally) 2011-06-22 21:21:09 -04:00
testdata update unicode FilePath handling 2011-02-11 15:37:37 -04:00
Types add journaling to speed up changes to the git-annex branch 2011-06-23 11:37:26 -04:00
Upgrade improve post-upgrade push instructions 2011-06-23 14:51:04 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore add git-union-merge 2011-06-20 21:37:18 -04:00
Annex.hs Branch handling improvements 2011-06-22 15:58:30 -04:00
AnnexQueue.hs Periodically flush git command queue, to avoid boating memory usage too much. 2011-04-07 13:59:31 -04:00
Backend.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
BackendList.hs only enable SHA backends that configure finds support for 2011-03-02 13:47:45 -04:00
Base64.hs simplified a bunch of Maybe handling 2011-05-15 03:38:08 -04:00
Branch.hs fix consistency, and partially close a race during merge 2011-06-23 16:05:02 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
CmdLine.hs commit git-annex branch when copying to a remote (locally) 2011-06-22 21:21:09 -04:00
Command.hs remove stateDir 2011-06-23 08:48:13 -04:00
Config.hs make encrypted remotes have slightly higher costs 2011-04-17 01:13:21 -04:00
configure.hs gpg recommended 2011-04-16 19:13:05 -04:00
Content.hs commit git-annex branch when copying to a remote (locally) 2011-06-22 21:21:09 -04:00
CopyFile.hs add whenM and unlessM 2011-05-17 03:13:11 -04:00
Crypto.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
DataUnits.hs tweak 2011-03-26 15:10:12 -04:00
Dot.hs simplified a bunch of Maybe handling 2011-05-15 03:38:08 -04:00
git-annex-shell.hs tweak 2011-06-02 02:40:43 -04:00
git-annex.hs put in utf8 forcing workaround 2011-03-08 18:05:20 -04:00
git-union-merge.hs add journaling to speed up changes to the git-annex branch 2011-06-23 11:37:26 -04:00
GitAnnex.hs add merge subcommand 2011-06-22 18:46:56 -04:00
GitQueue.hs avoid list traverse on queue 2011-04-07 15:00:29 -04:00
GitRepo.hs bugfix: restore index file env var 2011-06-22 22:56:27 -04:00
GitUnionMerge.hs add journaling to speed up changes to the git-annex branch 2011-06-23 11:37:26 -04:00
GPL symlinks 2010-10-27 15:14:59 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
LocationLog.hs rewrite loggedkeys to use git-annex branch 2011-06-22 23:24:14 -04:00
Locations.hs add journaling to speed up changes to the git-annex branch 2011-06-23 11:37:26 -04:00
Makefile ssh 2011-06-22 20:42:00 -04:00
mdwn2man mwdn2man: Fix a bug in newline supression. Closes: #606578 2010-12-10 17:27:02 -04:00
Messages.hs Maybe reduction pass 2 2011-05-15 12:25:58 -04:00
Options.hs clarify 2011-05-22 19:07:20 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs refactor 2011-06-23 15:30:04 -04:00
RsyncFile.hs Add --debug option. Closes: #627499 2011-05-21 11:52:13 -04:00
Ssh.hs refactor 2011-04-09 14:26:32 -04:00
StatFS.hsc kFreeBSD support 2011-03-23 13:10:20 -04:00
test.hs reove 2 tests that no longer make sense (state is not autocommitted) 2011-06-22 19:52:13 -04:00
TestConfig.hs refactor 2011-04-08 00:18:09 -04:00
Touch.hsc found a few places I can use newtype 2011-05-21 11:07:08 -04:00
Trust.hs store trust.log and remote.log in the git-annex branch 2011-06-22 17:08:51 -04:00
TrustLevel.hs Add --trust, --untrust, and --semitrust options. 2011-06-01 17:57:31 -04:00
Types.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Upgrade.hs improve version checking for v3 2011-06-22 18:07:45 -04:00
Utility.hs Add --debug option. Closes: #627499 2011-05-21 11:52:13 -04:00
UUID.hs store trust.log and remote.log in the git-annex branch 2011-06-22 17:08:51 -04:00
Version.hs improve version checking for v3 2011-06-22 18:07:45 -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/>