2018-07-06 20:32:46 +03:00
|
|
|
#require no-fsmonitor
|
2019-11-13 04:12:07 +03:00
|
|
|
$ hg debugpython -- -c 'from edenscm.mercurial.dirstate import rootcache' || exit 80
|
2013-12-14 20:19:25 +04:00
|
|
|
|
2013-11-27 18:27:59 +04:00
|
|
|
Load commonly used test logic
|
2018-01-09 17:08:01 +03:00
|
|
|
$ . "$TESTDIR/hggit/testutil"
|
2013-11-27 18:27:59 +04:00
|
|
|
|
|
|
|
$ hg init
|
|
|
|
|
2016-09-03 04:26:01 +03:00
|
|
|
We should only read .gitignore files in a hg-git repo (i.e. one with .hg/git
|
|
|
|
directory) otherwise, a rogue .gitignore could slow down a hg-only repo
|
|
|
|
|
|
|
|
$ mkdir .hg/git
|
|
|
|
|
2013-11-27 18:27:59 +04:00
|
|
|
$ touch foo
|
|
|
|
$ touch foobar
|
|
|
|
$ touch bar
|
|
|
|
$ echo 'foo*' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
|
|
|
|
$ echo '*bar' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? foo
|
|
|
|
|
|
|
|
$ mkdir dir
|
|
|
|
$ touch dir/foo
|
|
|
|
$ echo 'foo' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ echo '/foo' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ rm .gitignore
|
|
|
|
$ echo 'foo' > dir/.gitignore
|
|
|
|
$ hg status
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ touch dir/bar
|
|
|
|
$ echo 'bar' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? dir/.gitignore
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ echo '/bar' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ echo 'foo*' > .gitignore
|
|
|
|
$ echo '!*bar' >> .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
2018-07-06 20:32:46 +03:00
|
|
|
? foobar
|
2013-11-27 18:27:59 +04:00
|
|
|
|
2014-04-16 17:04:26 +04:00
|
|
|
$ echo '.hg/' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ echo 'dir/.hg/' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ echo '.hg/foo' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
|
|
|
|
$ touch foo.hg
|
|
|
|
$ echo 'foo.hg' > .gitignore
|
|
|
|
$ hg status
|
|
|
|
? .gitignore
|
|
|
|
? bar
|
|
|
|
? dir/.gitignore
|
|
|
|
? dir/bar
|
|
|
|
? foo
|
|
|
|
? foobar
|
|
|
|
$ rm foo.hg
|