Mercurial > hg > mercurial-crew-with-dirclash
diff mercurial/localrepo.py @ 4195:b5d1eaade333
Merge a bunch of matcher and locate fixes.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:21:33 -0300 |
parents | ba51a8225a60 e8ee8fdeddb1 |
children | dbc3846c09a1 |
line wrap: on
line diff
--- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -873,7 +873,13 @@ class localrepository(repo.repository): if node: fdict = dict.fromkeys(files) - for fn in self.manifest.read(self.changelog.read(node)[0]): + # for dirstate.walk, files=['.'] means "walk the whole tree". + # follow that here, too + fdict.pop('.', None) + mdict = self.manifest.read(self.changelog.read(node)[0]) + mfiles = mdict.keys() + mfiles.sort() + for fn in mfiles: for ffn in fdict: # match if the file is the exact name or a directory if ffn == fn or fn.startswith("%s/" % ffn): @@ -881,7 +887,9 @@ class localrepository(repo.repository): break if match(fn): yield 'm', fn - for fn in fdict: + ffiles = fdict.keys() + ffiles.sort() + for fn in ffiles: if badmatch and badmatch(fn): if match(fn): yield 'b', fn