mercurial/help/patterns.txt
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 24 Oct 2015 19:56:39 +0100
changeset 27262 3d0feb2f978b
parent 25284 7072b91ccd20
child 31032 88358446da16
permissions -rw-r--r--
histedit: pick an appropriate base changeset by default (BC) Previously, `hg histedit` required a revision argument specifying which revision to use as the base for the current histedit operation. There was an undocumented and experimental "histedit.defaultrev" option that supported defining a single revision to be used if no argument is passed. Mercurial knows what changesets can be edited. And in most scenarios, people want to edit this history of everything on the current head that is rewritable. Making histedit do this by default and not require an explicit argument or additional configuration is a major usability win and will enable more people to use histedit. This patch changes the behavior of the experimental and undocumented "histedit.defaultrev" config option to select an appropriate base revision by default. Comprehensive tests exercising the edge cases in the new, somewhat complicated default revset have been added. Surprisingly, no tests broke. I guess we were never testing the behavior with no ANCESTOR argument (it used to fail with "abort: histedit requires exactly one ancestor revision"). The new behavior is much more user friendly. The functionality for choosing the default base revision has been moved to destutil.py, where it can easily be modified by extensions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents: 13218
diff changeset
    67
6ab8b17adc03 fileset: add a help topic
Matt Mackall <mpm@selenic.com>
parents: 13218
diff changeset
    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