git/Documentation
Nguyễn Thái Ngọc Duy 82dce998c2 attr: more matching optimizations from .gitignore
.gitattributes and .gitignore share the same pattern syntax but has
separate matching implementation. Over the years, ignore's
implementation accumulates more optimizations while attr's stays the
same.

This patch reuses the core matching functions that are also used by
excluded_from_list. excluded_from_list and path_matches can't be
merged due to differences in exclude and attr, for example:

* "!pattern" syntax is forbidden in .gitattributes.  As an attribute
  can be unset (i.e. set to a special value "false") or made back to
  unspecified (i.e. not even set to "false"), "!pattern attr" is unclear
  which one it means.

* we support attaching attributes to directories, but git-core
  internally does not currently make use of attributes on
  directories.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-15 14:57:17 -07:00
..
RelNotes Git 1.7.11.7 2012-09-14 20:57:23 -07:00
howto correct spelling: an URL -> a URL 2012-03-28 08:47:23 -07:00
pt_BR
technical Merge branch 'mm/api-credentials-doc' 2012-06-12 08:40:16 -07:00
.gitattributes
.gitignore
CodingGuidelines Documentation/CodingGuidelines: spell out more shell guidelines 2012-08-15 11:00:39 -07:00
Makefile Merge branch 'mm/api-credentials-doc' 2012-06-08 08:32:20 -07:00
SubmittingPatches
asciidoc.conf Merge branch 'jk/docs-docbook-monospace-display' into maint-1.7.11 2012-09-11 11:08:40 -07:00
blame-options.txt
build-docdep.perl
cat-texi.perl
cmd-list.perl
config.txt Merge branch 'pg/maint-1.7.9-am-where-is-patch' into maint 2012-07-30 13:04:39 -07:00
date-formats.txt
diff-config.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
diff-format.txt
diff-generate-patch.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
diff-options.txt Documentation: Fix misspellings 2012-06-22 14:25:04 -07:00
docbook-xsl.css
docbook.xsl
everyday.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
fetch-options.txt
fix-texi.perl
git-add.txt
git-am.txt Merge branch 'jb/am-include' 2012-04-20 15:49:16 -07:00
git-annotate.txt
git-apply.txt
git-archimport.txt
git-archive.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-bisect-lk2009.txt
git-bisect.txt
git-blame.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-branch.txt Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
git-bundle.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-cat-file.txt
git-check-attr.txt
git-check-ref-format.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-checkout-index.txt
git-checkout.txt Merge branch 'jc/maint-checkout-fileglob-doc' into maint-1.7.11 2012-09-14 20:45:03 -07:00
git-cherry-pick.txt Merge branch 'cn/cherry-pick-range-docs' into maint 2012-07-11 12:45:34 -07:00
git-cherry.txt
git-citool.txt
git-clean.txt
git-clone.txt
git-column.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
git-commit-tree.txt Revert "git-commit-tree(1): update synopsis" 2012-07-17 13:11:03 -07:00
git-commit.txt Merge branch 'rr/doc-commit' into maint 2012-08-06 15:37:09 -07:00
git-config.txt Merge branch 'jc/maint-config-exit-status' into maint-1.7.11 2012-09-11 11:09:09 -07:00
git-count-objects.txt
git-credential-cache--daemon.txt
git-credential-cache.txt
git-credential-store.txt
git-cvsexportcommit.txt
git-cvsimport.txt
git-cvsserver.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-daemon.txt Merge branch 'ms/daemon-doc-typo' into maint 2012-08-06 15:39:16 -07:00
git-describe.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-diff-files.txt
git-diff-index.txt
git-diff-tree.txt
git-diff.txt
git-difftool.txt difftool: print list of valid tools with '--tool-help' 2012-04-23 12:00:42 -07:00
git-fast-export.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-fast-import.txt Merge branch 'jk/doc-asciidoc-inline-literal' 2012-05-02 13:51:45 -07:00
git-fetch-pack.txt fetch-pack: new --stdin option to read refs from stdin 2012-04-02 13:47:15 -07:00
git-fetch.txt
git-filter-branch.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-fmt-merge-msg.txt Document merge.branchdesc configuration variable 2012-02-23 11:20:15 -08:00
git-for-each-ref.txt
git-format-patch.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-fsck-objects.txt
git-fsck.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-gc.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-get-tar-commit-id.txt
git-grep.txt Merge branch 'rs/maint-grep-F' into maint 2012-06-01 13:01:41 -07:00
git-gui.txt
git-hash-object.txt
git-help.txt
git-http-backend.txt
git-http-fetch.txt
git-http-push.txt
git-imap-send.txt
git-index-pack.txt index-pack: support multithreaded delta resolving 2012-05-07 15:48:15 -07:00
git-init-db.txt
git-init.txt
git-instaweb.txt
git-log.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-lost-found.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-ls-files.txt
git-ls-remote.txt
git-ls-tree.txt
git-mailinfo.txt
git-mailsplit.txt
git-merge-base.txt
git-merge-file.txt
git-merge-index.txt
git-merge-one-file.txt
git-merge-tree.txt
git-merge.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
git-mergetool--lib.txt
git-mergetool.txt mergetool: support --tool-help option like difftool does 2012-07-23 14:42:39 -07:00
git-mktag.txt
git-mktree.txt
git-mv.txt
git-name-rev.txt
git-notes.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-p4.txt Sync with maint 2012-05-07 13:28:34 -07:00
git-pack-objects.txt
git-pack-redundant.txt
git-pack-refs.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-parse-remote.txt
git-patch-id.txt
git-peek-remote.txt
git-prune-packed.txt
git-prune.txt
git-pull.txt man: git pull -r is a short for --rebase 2012-08-17 00:26:52 -07:00
git-push.txt Merge branch 'jk/doc-asciidoc-inline-literal' 2012-05-02 13:51:45 -07:00
git-quiltimport.txt
git-read-tree.txt
git-rebase.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
git-receive-pack.txt
git-reflog.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-relink.txt
git-remote-ext.txt
git-remote-fd.txt
git-remote-helpers.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-remote-testgit.txt
git-remote.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-repack.txt fsck: --no-dangling omits "dangling object" information 2012-02-28 14:55:39 -08:00
git-replace.txt Documentation: do not mention .git/refs/* directories 2012-08-06 14:04:16 -07:00
git-repo-config.txt
git-request-pull.txt
git-rerere.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-reset.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-rev-list.txt
git-rev-parse.txt Merge branch 'js/rev-parse-doc-fix' 2012-05-23 13:35:19 -07:00
git-revert.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-rm.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-send-email.txt send-email: document the --smtp-debug option 2012-02-27 10:29:24 -08:00
git-send-pack.txt
git-sh-i18n--envsubst.txt correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
git-sh-i18n.txt
git-sh-setup.txt
git-shell.txt
git-shortlog.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-show-branch.txt
git-show-index.txt
git-show-ref.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-show.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-stage.txt
git-stash.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-status.txt Merge branch 'jk/maint-status-porcelain-z-b' into maint 2012-05-24 17:32:30 -07:00
git-stripspace.txt
git-submodule.txt Make 'git submodule update --force' always check out submodules. 2012-08-24 09:00:43 -07:00
git-svn.txt git-svn: clarify the referent of dcommit's optional argument 2012-05-17 09:35:18 +00:00
git-symbolic-ref.txt symbolic-ref --short: abbreviate the output unambiguously 2012-02-27 15:58:36 -08:00
git-tag.txt Merge branch 'jc/tag-doc' into maint-1.7.11 2012-08-24 12:05:30 -07:00
git-tar-tree.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-tools.txt
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt update-index: upgrade/downgrade on-disk index version 2012-04-04 09:57:50 -07:00
git-update-ref.txt
git-update-server-info.txt
git-upload-archive.txt
git-upload-pack.txt
git-var.txt ident: report passwd errors with a more friendly message 2012-05-22 09:08:20 -07:00
git-verify-pack.txt
git-verify-tag.txt
git-web--browse.txt
git-whatchanged.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-write-tree.txt
git.txt Git 1.7.11.7 2012-09-14 20:57:23 -07:00
gitattributes.txt attr: more matching optimizations from .gitignore 2012-10-15 14:57:17 -07:00
gitcli.txt Merge branch 'jc/maint-checkout-fileglob-doc' into maint-1.7.11 2012-09-14 20:45:03 -07:00
gitcore-tutorial.txt Merge branch 'zj/diff-stat-smaller-num-columns' 2012-05-02 13:53:28 -07:00
gitcredentials.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitcvs-migration.txt
gitdiffcore.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitglossary.txt
githooks.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
gitignore.txt
gitk.txt
gitmodules.txt document submdule.$name.update=none option for gitmodules 2012-05-11 08:39:33 -07:00
gitnamespaces.txt
gitrepository-layout.txt
gitrevisions.txt
gittutorial-2.txt
gittutorial.txt
gitweb.conf.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
gitweb.txt Documentation/gitweb: trivial English fixes 2012-03-23 11:22:04 -07:00
gitworkflows.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
glossary-content.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
howto-index.sh
i18n.txt
install-doc-quick.sh
install-webdoc.sh
mailmap.txt
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt
merge-options.txt merge: backport GIT_MERGE_AUTOEDIT support 2012-03-20 15:39:10 -07:00
merge-strategies.txt
pretty-formats.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
pretty-options.txt
pull-fetch-param.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
rev-list-options.txt Merge branch 'jc/maint-rev-list-topo-doc' into maint-1.7.11 2012-08-24 12:05:40 -07:00
revisions.txt specifying ranges: we did not mean to make ".." an empty set 2012-08-23 14:37:49 -07:00
sequencer.txt
urls-remotes.txt
urls.txt
user-manual.conf docs: monospace listings in docbook output 2012-08-07 14:30:52 -07:00
user-manual.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00