diff --git a/tests/test-hgignore.out b/tests/test-hgignore.out deleted file mode 100644 --- a/tests/test-hgignore.out +++ /dev/null @@ -1,59 +0,0 @@ -% should display baz only -? baz --- -A dir/b.o -? a.c -? a.o -? dir/c.o -? syntax --- -abort: .hgignore: invalid pattern (relre): *.o --- -A dir/b.o -? .hgignore -? a.c -? syntax --- -A dir/b.o -? a.c -? a.o -? dir/c.o -? syntax --- -A dir/b.o -? .hgignore -? a.c -? syntax --- -A dir/b.o -? .hgignore -? a.c -? syntax --- -A dir/b.o -? .hgignore -? a.c -? syntax --- -.hgignore: ignoring invalid syntax 'invalid' -A dir/b.o -? .hgignore -? a.c -? a.o -? dir/c.o -? syntax --- -A dir/b.o -? .hgignore -? a.c -? syntax --- -A dir/b.o -? .hgignore -? a.c -? a.o -? dir/c.o --- -A dir/b.o --- -A b.o diff --git a/tests/test-hgignore b/tests/test-hgignore.t old mode 100755 new mode 100644 rename from tests/test-hgignore rename to tests/test-hgignore.t --- a/tests/test-hgignore +++ b/tests/test-hgignore.t @@ -1,71 +1,121 @@ -#!/bin/sh + $ hg init -hg init +Test issue 562: .hgignore requires newline at end: -# Test issue 562: .hgignore requires newline at end -touch foo -touch bar -touch baz -cat > makeignore.py < makeignore.py < 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 -python makeignore.py -echo % should display baz only -hg status -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 -touch a.o -touch a.c -touch syntax -mkdir dir -touch dir/a.o -touch dir/b.o -touch dir/c.o + $ hg status + A dir/b.o + ? a.c + ? a.o + ? dir/c.o + ? syntax -hg add dir/a.o -hg commit -m 0 -hg add dir/b.o + $ echo "*.o" > .hgignore + $ hg status 2>&1 | sed -e 's/abort: .*\.hgignore:/abort: .hgignore:/' + abort: .hgignore: invalid pattern (relre): *.o -echo "--" ; hg status + $ echo ".*\.o" > .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? syntax + +Check it does not ignore the current directory '.': -echo "*.o" > .hgignore -echo "--" ; hg status 2>&1 | sed -e 's/abort: .*\.hgignore:/abort: .hgignore:/' + $ echo "^\." > .hgignore + $ hg status + A dir/b.o + ? a.c + ? a.o + ? dir/c.o + ? syntax -echo ".*\.o" > .hgignore -echo "--" ; hg status + $ echo "glob:**.o" > .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? syntax -# Check it does not ignore the current directory '.' -echo "^\." > .hgignore -echo "--" ; hg status + $ echo "glob:*.o" > .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? syntax -echo "glob:**.o" > .hgignore -echo "--" ; hg status - -echo "glob:*.o" > .hgignore -echo "--" ; hg status + $ echo "syntax: glob" > .hgignore + $ echo "re:.*\.o" >> .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? syntax -echo "syntax: glob" > .hgignore -echo "re:.*\.o" >> .hgignore -echo "--" ; hg status - -echo "syntax: invalid" > .hgignore -echo "--" ; hg status 2>&1 | sed -e 's/.*\.hgignore:/.hgignore:/' + $ echo "syntax: invalid" > .hgignore + $ hg status 2>&1 | sed -e 's/.*\.hgignore:/.hgignore:/' + .hgignore: ignoring invalid syntax 'invalid' + A dir/b.o + ? .hgignore + ? a.c + ? a.o + ? dir/c.o + ? syntax -echo "syntax: glob" > .hgignore -echo "*.o" >> .hgignore -echo "--" ; hg status + $ echo "syntax: glob" > .hgignore + $ echo "*.o" >> .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? syntax -echo "relglob:syntax*" > .hgignore -echo "--" ; hg status + $ echo "relglob:syntax*" > .hgignore + $ hg status + A dir/b.o + ? .hgignore + ? a.c + ? a.o + ? dir/c.o -echo "relglob:*" > .hgignore -echo "--" ; hg status + $ echo "relglob:*" > .hgignore + $ hg status + A dir/b.o -cd dir -echo "--" ; hg status . + $ cd dir + $ hg status . + A b.o +