Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/dirstate.py @ 1562:2f97af0b522c
Fix walkhelper on windows.
The ''seen'' dictionary stores paths in canonical form,
so the walkhelp must also provide paths in that form,
otherwise the changed files are listed twice.
author | Christian Boos <cboos@neuf.fr> |
---|---|
date | Thu, 01 Dec 2005 10:48:18 -0600 |
parents | 59b3639df0a9 |
children | 34579a67fa71 |
comparison
equal
deleted
inserted
replaced
1561:9c6d0abdb94e | 1562:2f97af0b522c |
---|---|
303 names.sort() | 303 names.sort() |
304 # nd is the top of the repository dir tree | 304 # nd is the top of the repository dir tree |
305 nd = util.normpath(top[len(self.root) + 1:]) | 305 nd = util.normpath(top[len(self.root) + 1:]) |
306 if nd == '.': nd = '' | 306 if nd == '.': nd = '' |
307 for f in names: | 307 for f in names: |
308 np = os.path.join(nd, f) | 308 np = util.pconvert(os.path.join(nd, f)) |
309 if seen(np): | 309 if seen(np): |
310 continue | 310 continue |
311 p = os.path.join(top, f) | 311 p = os.path.join(top, f) |
312 # don't trip over symlinks | 312 # don't trip over symlinks |
313 st = os.lstat(p) | 313 st = os.lstat(p) |
314 if stat.S_ISDIR(st.st_mode): | 314 if stat.S_ISDIR(st.st_mode): |
315 ds = os.path.join(nd, f +'/') | 315 ds = os.path.join(nd, f +'/') |
316 if statmatch(ds, st): | 316 if statmatch(ds, st): |
317 work.append(p) | 317 work.append(p) |
318 if statmatch(np, st) and np in dc: | 318 if statmatch(np, st) and np in dc: |
319 yield 'm', util.pconvert(np), st | 319 yield 'm', np, st |
320 elif statmatch(np, st): | 320 elif statmatch(np, st): |
321 if self.supported_type(np, st): | 321 if self.supported_type(np, st): |
322 yield 'f', util.pconvert(np), st | 322 yield 'f', np, st |
323 elif np in dc: | 323 elif np in dc: |
324 yield 'm', util.pconvert(np), st | 324 yield 'm', np, st |
325 | 325 |
326 known = {'.hg': 1} | 326 known = {'.hg': 1} |
327 def seen(fn): | 327 def seen(fn): |
328 if fn in known: return True | 328 if fn in known: return True |
329 known[fn] = 1 | 329 known[fn] = 1 |