Mercurial > hg-stable
changeset 16202:53e2cd303ecf stable 2.1.1
dirstate: filecacheify _ignore (issue3278)
This still doesn't handle the case where a command is run with
--config ui.ignore=path since we only look for changes in .hgignore.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Thu, 01 Mar 2012 17:49:59 +0200 |
parents | fb7c4c14223f |
children | e6a9f73965a8 |
files | mercurial/dirstate.py tests/test-commandserver.py tests/test-commandserver.py.out |
diffstat | 3 files changed, 28 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dirstate.py Thu Mar 01 17:42:49 2012 +0200 +++ b/mercurial/dirstate.py Thu Mar 01 17:49:59 2012 +0200 @@ -21,6 +21,11 @@ def join(self, obj, fname): return obj._opener.join(fname) +class rootcache(filecache): + """filecache for files in the repository root""" + def join(self, obj, fname): + return obj._join(fname) + def _finddirs(path): pos = path.rfind('/') while pos != -1: @@ -120,7 +125,7 @@ def dirs(self): return self._dirs - @propertycache + @rootcache('.hgignore') def _ignore(self): files = [self._join('.hgignore')] for name, path in self._ui.configitems("ui"):
--- a/tests/test-commandserver.py Thu Mar 01 17:42:49 2012 +0200 +++ b/tests/test-commandserver.py Thu Mar 01 17:49:59 2012 +0200 @@ -219,6 +219,20 @@ runcommand(server, ['branch']) os.system('hg branch default') +def hgignore(server): + readchannel(server) + f = open('.hgignore', 'ab') + f.write('') + f.close() + runcommand(server, ['commit', '-Am.']) + f = open('ignored-file', 'ab') + f.write('') + f.close() + f = open('.hgignore', 'ab') + f.write('ignored-file') + f.close() + runcommand(server, ['status', '-i', '-u']) + if __name__ == '__main__': os.system('hg init') @@ -240,3 +254,4 @@ check(setphase) check(rollback) check(branch) + check(hgignore)
--- a/tests/test-commandserver.py.out Thu Mar 01 17:42:49 2012 +0200 +++ b/tests/test-commandserver.py.out Thu Mar 01 17:49:59 2012 +0200 @@ -156,3 +156,10 @@ foo marked working directory as branch default (branches are permanent and global, did you want a bookmark?) + +testing hgignore: + + runcommand commit -Am. +adding .hgignore + runcommand status -i -u +I ignored-file