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 b191d5c595 gitignore support for the assistant and watcher
Requires git 1.8.4 or newer. When it's installed, a background
git check-ignore process is run, and used to efficiently check ignores
whenever a new file is added.

Thanks to Adam Spiers, for getting the necessary support into git for this.

A complication is what to do about files that are gitignored but have
been checked into git anyway. git commands assume the ignore has been
overridden in this case, and not need any more overriding to commit a
changed version.

However, for the assistant to do the same, it would have to run git ls-files
to check if the ignored file is in git. This is somewhat expensive. Or it
could use the running git-cat-file process to query the file that way,
but that requires transferring the whole file content over a pipe, so it
can be quite expensive too, for files that are not git-annex
symlinks.

Now imagine if the user knows that a file or directory tree will be getting
frequent changes, and doesn't want the assistant to sync it, so gitignores
it. The assistant could overload the system with repeated ls-files checks!

So, I've decided that the assistant will not automatically commit changes
to files that are gitignored. This is a tradeoff. Hopefully it won't be a
problem to adjust .gitignore settings to not ignore files you want the
assistant to autocommit, or to manually git annex add files that are listed
in .gitignore.

(This could be revisited if git-annex gets access to an interface to check
the content of the index w/o forking a git command. This could be libgit2,
or perhaps a separate git cat-file --batch-check process, so it wouldn't
need to ship over the whole file content.)

This commit was sponsored by Francois Marier. Thanks!
2013-08-02 20:37:03 -04:00
Annex gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
Assistant gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
Backend Fix a few bugs involving filenames that are at or near the filesystem's maximum filename length limit. 2013-07-30 19:18:29 -04:00
Build better git version checking 2013-08-02 18:32:26 -04:00
Command improve error message 2013-08-02 13:01:25 -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 webapp: When the user switches to display a different repository, that repository becomes the default repository to be displayed next time the webapp gets started. 2013-06-11 00:06:06 -04:00
debian gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
doc gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
Git gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
GitAnnex Make --numcopies override annex.numcopies set in .gitattributes. 2013-07-09 12:05:56 -04:00
Logs get rid of __WINDOWS__, use mingw32_HOST_OS 2013-08-02 12:27:32 -04:00
Messages hlint 2013-04-03 03:52:41 -04:00
Remote get rid of __WINDOWS__, use mingw32_HOST_OS 2013-08-02 12:27:32 -04:00
standalone OSX: Make git-annex-webapp run in the background, so that the app icon can be clicked on the open a new webapp when the assistant is already running. 2013-07-30 15:04:31 -04:00
static animate syncing and other activity icons 2013-04-08 22:54:02 -04:00
templates fix build with old yesod 2013-08-02 12:32:16 -04:00
Types find: Avoid polluting stdout with progress messages. Closes: #718186 2013-07-30 20:24:27 -04:00
Upgrade rename module 2013-05-12 19:19:28 -04:00
Utility fix syntax 2013-08-02 12:42:14 -04:00
.ghci
.gitattributes
.gitignore re-enable .o and .hi exclusion 2013-06-26 11:43:45 -04:00
Annex.hs gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
Assistant.hs assistant: Work around git-cat-file's not reloading the index after files are staged. 2013-05-25 00:37:41 -04:00
Backend.hs hlint 2013-04-03 03:52:41 -04:00
BuildFlags.hs add build flags to version output 2013-03-09 14:57:23 -04:00
CHANGELOG
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 find: Avoid polluting stdout with progress messages. Closes: #718186 2013-07-30 20:24:27 -04:00
Command.hs find: Avoid polluting stdout with progress messages. Closes: #718186 2013-07-30 20:24:27 -04:00
Common.hs fix the day's windows permissions damage 2013-05-12 19:09:48 -04:00
Config.hs split cost out into its own module 2013-03-13 16:30:34 -04:00
configure.hs
COPYRIGHT
Creds.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -04:00
Crypto.hs Generate ciphers with a better entropy. 2013-04-06 16:09:51 -04:00
Fields.hs
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal releasing version 4.20130802 2013-08-02 13:38:18 -04:00
git-annex.hs try building test suite on windows 2013-05-17 16:45:44 -04:00
git-union-merge.hs
Git.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -04:00
GitAnnex.hs importfeed: git-annex becomes a podcatcher in 150 LOC 2013-07-28 16:55:42 -04:00
GitAnnexShell.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -04:00
Init.hs detect system with no dot in FQDN, where git commit will fail, and workaround 2013-07-05 12:24:28 -04:00
INSTALL
Limit.hs fix Android build, broken for 2 days 2013-05-26 18:14:03 -04:00
Locations.hs fuzz tester 2013-05-23 19:00:46 -04:00
Makefile got hdevtools working again 2013-07-27 13:00:49 -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
Option.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
README
Remote.hs expose Control.Monad.join 2013-04-22 20:24:53 -04:00
Seek.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
Setup.hs split out library 2013-04-17 12:02:44 -04:00
Test.hs regression test for 7b0970b340 2013-07-30 17:04:05 -04:00
Types.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
Upgrade.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -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/>