1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-17 22:44:49 +01:00
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
..
howto correct spelling: an URL -> a URL 2012-03-28 08:47:23 -07:00
pt_BR
RelNotes Git 1.7.11.7 2012-09-14 20:57:23 -07:00
technical Merge branch 'mm/api-credentials-doc' 2012-06-12 08:40:16 -07:00
.gitattributes
.gitignore Documentation: ignore *.pdf files 2011-08-08 09:30:12 -07:00
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 use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
build-docdep.perl
cat-texi.perl
cmd-list.perl
CodingGuidelines Documentation/CodingGuidelines: spell out more shell guidelines 2012-08-15 11:00:39 -07:00
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 Document date formats accepted by parse_date() 2009-12-03 12:41:37 -08:00
diff-config.txt Documentation: spelling fixes 2012-06-19 11:35:19 -07:00
diff-format.txt Fix typos in technical documentation. 2010-01-31 10:24:53 -08:00
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 Documentation: set a !DOCTYPE for user manual 2010-08-20 10:53:56 -07:00
everyday.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
fetch-options.txt fetch/pull: Don't recurse into a submodule when commits are already present 2011-03-09 13:10:35 -08:00
fix-texi.perl
git-add.txt Merge branch 'vh/config-interactive-singlekey-doc' into maint 2011-05-31 12:01:06 -07:00
git-am.txt Merge branch 'jb/am-include' 2012-04-20 15:49:16 -07:00
git-annotate.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-apply.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-archimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-archive.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-bisect-lk2009.txt Documentation: remove stray backslashes from "Fighting regressions" article 2010-08-20 14:16:51 -07:00
git-bisect.txt bisect: add support for bisecting bare repositories 2011-08-09 10:26:18 -07:00
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 doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-check-attr.txt Teach '--cached' option to check-attr 2011-09-22 16:38:22 -07:00
git-check-ref-format.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-checkout-index.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-citool.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-clean.txt Documentation: clarify "git clean -e <pattern>" 2011-08-28 23:47:55 -07:00
git-clone.txt clone: allow --branch to take a tag 2012-01-16 16:26:26 -08:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-credential-cache--daemon.txt credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
git-credential-cache.txt credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
git-credential-store.txt credentials: add "store" helper 2011-12-12 16:09:38 -08:00
git-cvsexportcommit.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-cvsimport.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-diff-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-diff-tree.txt docs: fix some antique example output 2011-05-26 22:15:39 -07:00
git-diff.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 for-each-ref: add split message parts to %(contents:*). 2011-09-08 13:56:19 -07:00
git-format-patch.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-fsck-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-grep.txt Merge branch 'rs/maint-grep-F' into maint 2012-06-01 13:01:41 -07:00
git-gui.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-hash-object.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-help.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-http-backend.txt ref namespaces: documentation 2011-07-11 09:35:46 -07:00
git-http-fetch.txt Mark http-fetch without -a as deprecated 2011-08-23 21:36:20 -07:00
git-http-push.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-imap-send.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-index-pack.txt index-pack: support multithreaded delta resolving 2012-05-07 15:48:15 -07:00
git-init-db.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-init.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-instaweb.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
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 doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-ls-remote.txt ls-remote: the --exit-code option reports "no matching refs" 2011-05-18 14:37:46 -07:00
git-ls-tree.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-mailinfo.txt Merge branch 'tr/maint-mailinfo' 2012-01-12 23:34:26 -08:00
git-mailsplit.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-base.txt Merge branch 'vr/merge-base-doc' into maint 2011-05-16 16:38:46 -07:00
git-merge-file.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-merge-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-one-file.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-tree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
git-mergetool--lib.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-mergetool.txt mergetool: support --tool-help option like difftool does 2012-07-23 14:42:39 -07:00
git-mktag.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-mktree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-mv.txt mv: honor --verbose flag 2011-12-12 11:52:31 -08:00
git-name-rev.txt doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
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 remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
git-pack-redundant.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-patch-id.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-peek-remote.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune-packed.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-prune.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
git-read-tree.txt Merge branch 'jh/fetch-head-update' 2012-01-06 12:44:01 -08:00
git-rebase.txt doc: A few minor copy edits. 2012-08-06 15:34:20 -07:00
git-receive-pack.txt Sync with 1.7.6.2 2011-09-06 11:42:12 -07:00
git-reflog.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-relink.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-remote-ext.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-remote-fd.txt docs: put listed example commands in backticks 2011-08-04 15:49:13 -07:00
git-remote-helpers.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-remote-testgit.txt (short) documentation for the testgit remote helper 2011-09-01 15:52:02 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-request-pull.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 show: --ignore-missing 2011-05-19 10:55:54 -07:00
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 Revert "Merge branch 'cb/maint-quiet-push' into maint" 2011-09-06 11:10:41 -07:00
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 Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-sh-setup.txt Merge branch 'tr/doc-sh-setup' into maint 2011-12-28 11:42:51 -08:00
git-shell.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-shortlog.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-show-branch.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-show-index.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 doc: add missing git footers 2011-03-11 10:59:16 -05:00
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 Update documentation for stripspace 2011-12-12 16:48:54 -08:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-unpack-objects.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-update-index.txt update-index: upgrade/downgrade on-disk index version 2012-04-04 09:57:50 -07:00
git-update-ref.txt Merge branch 'bw/log-all-ref-updates-doc' into maint 2011-08-16 11:41:28 -07:00
git-update-server-info.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-upload-archive.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-upload-pack.txt Merge branch 'js/ref-namespaces' 2011-08-17 17:35:38 -07:00
git-var.txt ident: report passwd errors with a more friendly message 2012-05-22 09:08:20 -07:00
git-verify-pack.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-verify-tag.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-web--browse.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-whatchanged.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
git-write-tree.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 doc: drop author/documentation sections from most pages 2011-03-11 10:59:16 -05:00
gitk.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
gitmodules.txt document submdule.$name.update=none option for gitmodules 2012-05-11 08:39:33 -07:00
gitnamespaces.txt Documentation/gitnamespaces.txt: cater to older asciidoc 2011-09-16 09:20:23 -07:00
gitrepository-layout.txt Documentation: Grammar correction, wording fixes and cleanup 2011-08-23 21:35:47 -07:00
gitrevisions.txt Documentation: gitrevisions 2010-07-05 13:39:02 -07:00
gittutorial-2.txt Use correct grammar in diffstat summary line 2012-02-03 23:19:42 -08:00
gittutorial.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
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 Documentation: spell 'git cmd' without dash throughout 2010-01-10 13:01:28 +01:00
install-doc-quick.sh docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
install-webdoc.sh install-webdoc: keep installed RelNotes-*.txt 2010-09-09 16:17:59 -07:00
mailmap.txt
Makefile Merge branch 'mm/api-credentials-doc' 2012-06-08 08:32:20 -07:00
manpage-1.72.xsl
manpage-base-url.xsl.in Documentation: Avoid use of xmlto --stringparam 2009-12-05 10:03:49 -08:00
manpage-base.xsl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt merge: introduce merge.ff configuration variable 2011-05-06 15:12:30 -07:00
merge-options.txt merge: backport GIT_MERGE_AUTOEDIT support 2012-03-20 15:39:10 -07:00
merge-strategies.txt Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
pretty-formats.txt docs: stop using asciidoc no-inline-literal 2012-04-26 13:19:06 -07:00
pretty-options.txt Add log.abbrevCommit config variable 2011-05-18 12:40:15 -07:00
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 revert: introduce --abort to cancel a failed cherry-pick 2011-11-22 18:16:59 -08:00
SubmittingPatches SubmittingPathces: remove Cogito reference 2011-09-11 20:53:00 -07:00
urls-remotes.txt Documentation: spell 'git cmd' without dash throughout 2010-01-10 13:01:28 +01:00
urls.txt Documentation: spelling fixes 2010-07-20 16:59:17 -07:00
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