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 d9d76cf98b Fix minor FD leak in journal code.
Minor because normally only 1 FD is leaked per git-annex run. However,
the test suite leaks a few hundred FDs, and this broke it on the Debian
autobuilders, which seem to have a tigher than usual ulimit.

The leak was introduced by the lazy getDirectoryContents' that was
introduced in e6330988dd in order to scale to
millions of journal files -- if the lazy list was never fully consumed, the
directory handle did not get closed.

Instead, pull in openDirectory/readDirectory/closeDirectory code that I
already developed and submitted in a patch to the haskell directory library
earlier. Using this in journalDirty avoids the place that the lazy list
caused a problem. And using it in stageJournal eliminates the need for
getDirectoryContents'.

The getJournalFiles* functions are switched back to using the regular
strict getDirectoryContents. I'm not sure if those always consume the whole
list, so this avoids any leak. And the things that call those are things
like git annex unused, which also look at every file committed to the
git-annex branch, so would need more work to scale to insane numbers of
files anyway.
2014-07-09 23:36:53 -04:00
Annex Fix minor FD leak in journal code. 2014-07-09 23:36:53 -04:00
Assistant Really fix bug that caused the assistant to make many unncessary empty merge commits. 2014-07-09 15:18:00 -04:00
Backend bring back the (checksum) when fscking 2014-02-20 16:06:51 -04:00
Build typo 2014-07-07 14:30:38 -04:00
CmdLine support being run by ssh as ssh-askpass replacement 2014-04-29 18:08:10 -04:00
Command Support building with bloomfilter 2.0.0. 2014-07-07 12:24:12 -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 reorg 2014-01-21 18:08:56 -04:00
debian Fix minor FD leak in journal code. 2014-07-09 23:36:53 -04:00
doc devblog 2014-07-09 16:20:02 -04:00
Git Fix git version that supported --no-gpg-sign. 2014-07-08 12:46:15 -04:00
Limit fix transfers of key with no associated file 2014-01-23 16:44:02 -04:00
Logs import metadata from feeds 2014-07-03 14:15:00 -04:00
Messages hlint 2013-04-03 03:52:41 -04:00
Remote export CreateProcess fields from Utility.Process 2014-06-10 19:20:14 -04:00
RemoteDaemon export CreateProcess fields from Utility.Process 2014-06-10 19:20:14 -04:00
standalone fix logic 2014-07-04 13:58:09 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates reword 2014-05-15 21:45:36 -04:00
Types execute remote.<name>.annex-shell on remote, if set 2014-05-16 15:46:43 -04:00
Upgrade remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Utility Fix minor FD leak in journal code. 2014-07-09 23:36:53 -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 gitignore Build/BuildVersion 2014-06-18 14:43:20 -04:00
.mailmap seed .mailmap file for more sensible git shortlog 2014-01-18 15:50:57 -04:00
Annex.hs fix for Windows file timestamp timezone madness 2014-06-12 13:42:21 -04:00
Assistant.hs Windows: Assistant now logs to daemon.log. 2014-06-17 19:27:54 -04:00
Backend.hs replace (Key, Backend) with Key 2014-04-17 18:03:39 -04:00
build.bat windows build foo 2013-12-05 20:40:28 -04:00
BuildFlags.hs add desktop notifications 2014-03-22 14:12:19 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs reorg 2014-01-26 16:36:31 -04:00
CmdLine.hs only run sshCleanup when the command actually used ssh connection caching 2014-03-13 19:30:13 -04:00
Command.hs replace (Key, Backend) with Key 2014-04-17 18:03:39 -04:00
Common.hs add missing Network.URI Ord instance for Debian stable 2014-04-14 13:25:49 -04:00
Config.hs cleaned up AnnexState handling in transports 2014-04-08 13:42:57 -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 webapp: Fix UI for removing XMPP connection. 2014-04-20 12:46:33 -04:00
Crypto.hs Fix initremote with encryption=pubkey to work with S3, glacier, webdav, and external special remotes. 2014-02-06 18:25:31 -04:00
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal prep release 2014-07-09 15:28:19 -04:00
git-annex.hs unset TZ on Windows 2014-06-12 14:54:43 -04:00
git-union-merge.hs factor out nukeFile 2012-06-06 13:13:13 -04:00
Git.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs replace (Key, Backend) with Key 2014-04-17 18:03:39 -04:00
Locations.hs prospective fix for bad_merge_commit_deleting_all_files 2014-07-09 15:08:19 -04:00
Logs.hs reorg matcher types; no non-type code changes 2014-03-29 14:43:34 -04:00
Makefile better way to generate tags 2014-07-01 15:11:47 -04:00
Messages.hs refactor 2014-01-26 15:53:01 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs assistant: When there are multiple remotes giving different ways to access the same repository, honor remote cost settings and use the cheapest available. 2014-05-19 16:19:33 -04:00
Setup.hs make configure -Wall clean 2014-03-10 16:59:38 -04:00
Test.hs support commit.gpgsign 2014-07-04 11:53:51 -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

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/>