Mercurial > hg
view tests/test-hgignore.t @ 24666:3092885b5b32
manifestdict: inline _intersectfiles()
The _intersectfiles() method is only called from one place, it's
pretty short, and its caller has to be aware when it's appropriate to
call it (when the number of files in the matcher is not too large), so
let's inline it.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 08 Apr 2015 10:01:31 -0700 |
parents | a04c7b74b3d5 |
children | 4040e06e9b99 |
line wrap: on
line source
$ hg init Issue562: .hgignore requires newline at end: $ touch foo $ touch bar $ touch baz $ cat > makeignore.py <<EOF > f = open(".hgignore", "w") > f.write("ignore\n") > f.write("foo\n") > # No EOL here > f.write("bar") > f.close() > EOF $ python makeignore.py Should display baz only: $ hg status ? baz $ rm foo bar baz .hgignore makeignore.py $ touch a.o $ touch a.c $ touch syntax $ mkdir dir $ touch dir/a.o $ touch dir/b.o $ touch dir/c.o $ hg add dir/a.o $ hg commit -m 0 $ hg add dir/b.o $ hg status A dir/b.o ? a.c ? a.o ? dir/c.o ? syntax $ echo "*.o" > .hgignore $ hg status abort: $TESTTMP/.hgignore: invalid pattern (relre): *.o (glob) [255] $ echo ".*\.o" > .hgignore $ hg status A dir/b.o ? .hgignore ? a.c ? syntax Check it does not ignore the current directory '.': $ echo "^\." > .hgignore $ hg status A dir/b.o ? a.c ? a.o ? dir/c.o ? syntax Test that patterns from ui.ignore options are read: $ echo > .hgignore $ cat >> $HGRCPATH << EOF > [ui] > ignore.other = $TESTTMP/.hg/testhgignore > EOF $ echo "glob:**.o" > .hg/testhgignore $ hg status A dir/b.o ? .hgignore ? a.c ? syntax empty out testhgignore $ echo > .hg/testhgignore Test relative ignore path (issue4473): $ cat >> $HGRCPATH << EOF > [ui] > ignore.relative = .hg/testhgignorerel > EOF $ echo "glob:*.o" > .hg/testhgignorerel $ cd dir $ hg status A dir/b.o ? .hgignore ? a.c ? syntax $ cd .. $ echo > .hg/testhgignorerel $ echo "syntax: glob" > .hgignore $ echo "re:.*\.o" >> .hgignore $ hg status A dir/b.o ? .hgignore ? a.c ? syntax $ echo "syntax: invalid" > .hgignore $ hg status $TESTTMP/.hgignore: ignoring invalid syntax 'invalid' (glob) A dir/b.o ? .hgignore ? a.c ? a.o ? dir/c.o ? syntax $ echo "syntax: glob" > .hgignore $ echo "*.o" >> .hgignore $ hg status A dir/b.o ? .hgignore ? a.c ? syntax $ echo "relglob:syntax*" > .hgignore $ hg status A dir/b.o ? .hgignore ? a.c ? a.o ? dir/c.o $ echo "relglob:*" > .hgignore $ hg status A dir/b.o $ cd dir $ hg status . A b.o $ hg debugignore (?:(?:|.*/)[^/]*(?:/|$)) $ cd .. Check patterns that match only the directory $ echo "^dir\$" > .hgignore $ hg status A dir/b.o ? .hgignore ? a.c ? a.o ? syntax Check recursive glob pattern matches no directories (dir/**/c.o matches dir/c.o) $ echo "syntax: glob" > .hgignore $ echo "dir/**/c.o" >> .hgignore $ touch dir/c.o $ mkdir dir/subdir $ touch dir/subdir/c.o $ hg status A dir/b.o ? .hgignore ? a.c ? a.o ? syntax