Mercurial > hg
annotate mercurial/help/patterns.txt @ 26755:bb0b955d050d
streamclone: support for producing and consuming stream clone bundles
Up to this point, stream clones only existed as a dynamically generated
data format produced and consumed during streaming clones. In order to
support this efficient cloning format with the clone bundles feature, we
need a more formal, on disk representation of the streaming clone data.
This patch introduces a new "bundle" type for streaming clones. Unlike
existing bundles, it does not contain changegroup data. It does,
however, share the same concepts like the 4 byte header which identifies
the type of data that follows and the 2 byte abbreviation for
compression types (of which only "UN" is currently supported).
The new bundle format is essentially the existing stream clone version 1
data format with some headers at the beginning.
Content negotiation at stream clone request time checked for repository
format/requirements compatibility before initiating a stream clone. We
can't do active content negotiation when using clone bundles. So, we put
this set of requirements inside the payload so consumers have a built-in
mechanism for checking compatibility before reading and applying lots of
data. Of course, we will also advertise this requirements set in clone
bundles. But that's for another patch.
We currently don't have a mechanism to produce and consume this new
bundle format. This will be implemented in upcoming patches.
It's worth noting that if a legacy client attempts to `hg unbundle` a
stream clone bundle (with the "HGS1" header), it will abort with:
"unknown bundle version S1," which seems appropriate.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 17 Oct 2015 11:14:52 -0700 |
parents | 7072b91ccd20 |
children | 88358446da16 |
rev | line source |
---|---|
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
1 Mercurial accepts several notations for identifying one or more files |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
2 at a time. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
3 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
4 By default, Mercurial treats filenames as shell-style extended glob |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
5 patterns. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
6 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
7 Alternate pattern notations must be specified explicitly. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
8 |
16504
e3c7ca15cde2
doc: add note about pattern rooted/unrooted cases to "hgignore" and "patterns"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
14686
diff
changeset
|
9 .. note:: |
20532
f1a3ae7c15df
help: remove last occurrences of ".. note::" without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
20329
diff
changeset
|
10 |
18960
170fc0949fb6
check-code: check txt files for trailing whitespace
Mads Kiilerich <madski@unity3d.com>
parents:
16510
diff
changeset
|
11 Patterns specified in ``.hgignore`` are not rooted. |
16510
c7c9473fcc46
docs: don't use :hg: at the beginning of lines in notes (issue3397)
Mads Kiilerich <mads@kiilerich.com>
parents:
16504
diff
changeset
|
12 Please see :hg:`help hgignore` for details. |
16504
e3c7ca15cde2
doc: add note about pattern rooted/unrooted cases to "hgignore" and "patterns"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
14686
diff
changeset
|
13 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
14 To use a plain path name without any pattern matching, start it with |
9624
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
15 ``path:``. These path names must completely match starting at the |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
16 current repository root. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
17 |
9624
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
18 To use an extended glob, start a name with ``glob:``. Globs are rooted |
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
19 at the current directory; a glob such as ``*.c`` will only match files |
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
20 in the current directory ending with ``.c``. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
21 |
9624
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
22 The supported glob syntax extensions are ``**`` to match any string |
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
23 across path separators and ``{a,b}`` to mean "a or b". |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
24 |
9624
585d2ffe969b
doc, help: stream-line use of inline-literals
Martin Geisler <mg@lazybytes.net>
parents:
9540
diff
changeset
|
25 To use a Perl/Python regular expression, start a name with ``re:``. |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
26 Regexp pattern matching is anchored at the root of the repository. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
27 |
13218
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
28 To read name patterns from a file, use ``listfile:`` or ``listfile0:``. |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
29 The latter expects null delimited patterns while the former expects line |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
30 feeds. Each string read from the file is itself treated as a file |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
31 pattern. |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
32 |
25284
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
33 To read a set of patterns from a file, use ``include:`` or ``subinclude:``. |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
34 ``include:`` will use all the patterns from the given file and treat them as if |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
35 they had been passed in manually. ``subinclude:`` will only apply the patterns |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
36 against files that are under the subinclude file's directory. See :hg:`help |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
37 hgignore` for details on the format of these files. |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
38 |
20290
50db996bccaf
doc: add description about pattern matching against directories
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18960
diff
changeset
|
39 All patterns, except for ``glob:`` specified in command line (not for |
20329
45f23b1ff345
doc: fix mistake about matching against directories in "pattern.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20290
diff
changeset
|
40 ``-I`` or ``-X`` options), can match also against directories: files |
45f23b1ff345
doc: fix mistake about matching against directories in "pattern.txt"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20290
diff
changeset
|
41 under matched directories are treated as matched. |
20290
50db996bccaf
doc: add description about pattern matching against directories
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18960
diff
changeset
|
42 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
43 Plain examples:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
44 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
45 path:foo/bar a name bar in a directory named foo in the root |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
46 of the repository |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
47 path:path:name a file or directory named "path:name" |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
48 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
49 Glob examples:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
50 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
51 glob:*.c any name ending in ".c" in the current directory |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
52 *.c any name ending in ".c" in the current directory |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
53 **.c any name ending in ".c" in any subdirectory of the |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
54 current directory including itself. |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
55 foo/*.c any name ending in ".c" in the directory foo |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
56 foo/**.c any name ending in ".c" in any subdirectory of foo |
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
57 including itself. |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
58 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
59 Regexp examples:: |
9539
c904e76e3834
help: move help topics from mercurial/help.py to help/*.txt
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
60 |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9539
diff
changeset
|
61 re:.*\.c$ any name ending in ".c", anywhere in the repository |
13218
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
62 |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
63 File examples:: |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
64 |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
65 listfile:list.txt read list from list.txt with one file pattern per line |
1f4721de2ca9
match: support reading pattern lists from files
Steve Borho <steve@borho.org>
parents:
9999
diff
changeset
|
66 listfile0:list.txt read list from list.txt with null byte delimiters |
14686 | 67 |
68 See also :hg:`help filesets`. | |
25284
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
69 |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
70 Include examples:: |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
71 |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
72 include:path/to/mypatternfile reads patterns to be applied to all paths |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
73 subinclude:path/to/subignorefile reads patterns specifically for paths in the |
7072b91ccd20
help: add documentation on include: and subinclude:
Durham Goode <durham@fb.com>
parents:
20532
diff
changeset
|
74 subdirectory |