git-annex/doc
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
..
Android clean up Android comment-as-bug-report mess 2013-07-30 13:54:03 -04:00
android
assistant release notes 2013-08-02 13:41:28 -04:00
backends Added a comment: Please be more specific about what information goes into the key 2013-07-31 11:55:09 +00:00
bare_repositories
bugs gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
design gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
direct_mode
download
encryption
footer
forum Added a comment 2013-07-31 16:25:35 +00:00
install Added a comment 2013-07-30 21:25:32 +00:00
internals
license
links
news add news item for git-annex 4.20130802 2013-08-02 13:39:43 -04:00
not
preferred_content
special_remotes Added a comment 2013-08-01 23:51:48 +00:00
sync
templates
tips Added a comment: re: git annex get failed -- debug 2013-08-02 15:28:41 +00:00
todo 2013-08-02 13:41:44 +00:00
upgrades
use_case
users
videos
walkthrough dropunused behavior change: Now refuses to drop the last copy of a file, unless you use the --force. 2013-07-25 19:50:44 -04:00
Android.mdwn clean up Android comment-as-bug-report mess 2013-07-30 13:54:03 -04:00
assistant.mdwn mention the new crowdfunding 2013-07-16 00:41:51 +00:00
automatic_conflict_resolution.mdwn break out a page 2013-07-09 15:08:59 -04:00
backends.mdwn make edits that a commenter apparently didn't realize they could make. this is a wiki.. 2013-07-31 12:31:30 -04:00
bare_repositories.mdwn
bugs.mdwn
coding_style.mdwn
comments.mdwn
contact.mdwn
copies.mdwn
design.mdwn
direct_mode.mdwn dropunused behavior change: Now refuses to drop the last copy of a file, unless you use the --force. 2013-07-25 19:50:44 -04:00
distributed_version_control.mdwn
download.mdwn
encryption.mdwn
favicon.ico
favicon.png Install XDG desktop icon files. 2013-07-09 19:56:30 -04:00
feeds.mdwn brought back the twitter feed in the sidebar 2013-07-23 16:45:53 -04:00
forum.mdwn
future_proofing.mdwn
git-annex-shell.mdwn
git-annex.mdwn improve importfeed --force; try to match existing files to avoid unncessary duplication 2013-08-01 11:57:05 -04:00
git-union-merge.mdwn
how_it_works.mdwn
index.mdwn brought back the twitter feed in the sidebar 2013-07-23 16:45:53 -04:00
install.mdwn
internals.mdwn 2013-07-15 09:44:10 +00:00
license.mdwn
location_tracking.mdwn
logo-old-bw.svg fix filename 2013-07-20 14:46:26 -04:00
logo-old.png New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
logo-old.svg New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
logo-old_small.png New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
logo.mdwn New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
logo.svg New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
logo_small.png New improved version of the git-annex logo, contributed by John Lawrence. 2013-07-20 13:16:47 -04:00
meta.mdwn
news.mdwn
not.mdwn
preferred_content.mdwn update to use enableremote for changing preferreddir settings 2013-07-16 13:54:00 -04:00
privacy.mdwn
related_software.mdwn
repomap.png
scalability.mdwn
sidebar.mdwn remove twitter and identica feeds; both no longer offer rss; add campaign link temporarily 2013-07-14 19:04:06 -04:00
sitemap.mdwn
special_remotes.mdwn
summary.mdwn
sync.mdwn break out a page 2013-07-09 15:08:59 -04:00
testimonials.mdwn
tips.mdwn
todo.mdwn
transferring_data.mdwn
trust.mdwn
upgrades.mdwn
users.mdwn
videos.mdwn
walkthrough.mdwn typo 2013-07-08 16:24:21 -04:00