test-hgignore.t
191 lines
| 3.1 KiB
| text/troff
|
Tads3Lexer
/ tests / test-hgignore.t
Adrian Buehlmann
|
r12312 | $ hg init | ||
Martin Geisler
|
r12399 | Issue562: .hgignore requires newline at end: | ||
Adrian Buehlmann
|
r12312 | |||
$ 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 | ||||
Matt Mackall
|
r12366 | $ hg status | ||
Mads Kiilerich
|
r15447 | abort: $TESTTMP/.hgignore: invalid pattern (relre): *.o (glob) | ||
Matt Mackall
|
r12366 | [255] | ||
Adrian Buehlmann
|
r12312 | |||
$ echo ".*\.o" > .hgignore | ||||
Mads Kiilerich
|
r16487 | $ hg status | ||
Adrian Buehlmann
|
r12312 | 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 | ||||
Siddharth Agarwal
|
r23628 | 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 | ||||
Adrian Buehlmann
|
r12312 | $ hg status | ||
A dir/b.o | ||||
? .hgignore | ||||
? a.c | ||||
? syntax | ||||
Siddharth Agarwal
|
r23628 | empty out testhgignore | ||
$ echo > .hg/testhgignore | ||||
Siddharth Agarwal
|
r23629 | |||
Test relative ignore path (issue4473): | ||||
$ cat >> $HGRCPATH << EOF | ||||
> [ui] | ||||
> ignore.relative = .hg/testhgignorerel | ||||
> EOF | ||||
$ echo "glob:*.o" > .hg/testhgignorerel | ||||
$ cd dir | ||||
Adrian Buehlmann
|
r12312 | $ hg status | ||
A dir/b.o | ||||
? .hgignore | ||||
? a.c | ||||
? syntax | ||||
Siddharth Agarwal
|
r23629 | $ cd .. | ||
$ echo > .hg/testhgignorerel | ||||
Adrian Buehlmann
|
r12312 | $ echo "syntax: glob" > .hgignore | ||
$ echo "re:.*\.o" >> .hgignore | ||||
$ hg status | ||||
A dir/b.o | ||||
? .hgignore | ||||
? a.c | ||||
? syntax | ||||
$ echo "syntax: invalid" > .hgignore | ||||
Matt Mackall
|
r12366 | $ hg status | ||
Mads Kiilerich
|
r15447 | $TESTTMP/.hgignore: ignoring invalid syntax 'invalid' (glob) | ||
Adrian Buehlmann
|
r12312 | 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 | ||||
jfh
|
r13396 | $ hg debugignore | ||
(?:(?:|.*/)[^/]*(?:/|$)) | ||||
Mads Kiilerich
|
r16913 | |||
$ cd .. | ||||
Durham Goode
|
r19128 | |||
Check patterns that match only the directory | ||||
$ echo "^dir\$" > .hgignore | ||||
$ hg status | ||||
A dir/b.o | ||||
? .hgignore | ||||
? a.c | ||||
? a.o | ||||
? syntax | ||||
Siddharth Agarwal
|
r21815 | |||
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 | ||||
Durham Goode
|
r25215 | |||
Check using 'include:' in ignore file | ||||
$ hg purge --all --config extensions.purge= | ||||
$ touch foo.included | ||||
$ echo ".*.included" > otherignore | ||||
$ hg status -I "include:otherignore" | ||||
? foo.included | ||||
$ echo "include:otherignore" >> .hgignore | ||||
$ hg status | ||||
A dir/b.o | ||||
? .hgignore | ||||
? otherignore | ||||
Check recursive uses of 'include:' | ||||
$ echo "include:nestedignore" >> otherignore | ||||
$ echo "glob:*ignore" > nestedignore | ||||
$ hg status | ||||
A dir/b.o | ||||