Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 6656:2cbe0f72c379
Merge with crew-stable
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sat, 07 Jun 2008 11:43:16 +0200 |
parents | 41eb20cc1c02 7f0dd352fb4d |
children | c9fbd6ec3489 |
comparison
equal
deleted
inserted
replaced
6655:ab798a37b846 | 6656:2cbe0f72c379 |
---|---|
274 dry_run = opts.get('dry_run') | 274 dry_run = opts.get('dry_run') |
275 if similarity is None: | 275 if similarity is None: |
276 similarity = float(opts.get('similarity') or 0) | 276 similarity = float(opts.get('similarity') or 0) |
277 add, remove = [], [] | 277 add, remove = [], [] |
278 mapping = {} | 278 mapping = {} |
279 audit_path = util.path_auditor(repo.root) | |
279 m = match(repo, pats, opts) | 280 m = match(repo, pats, opts) |
280 for abs in repo.walk(m): | 281 for abs in repo.walk(m): |
281 target = repo.wjoin(abs) | 282 target = repo.wjoin(abs) |
283 good = True | |
284 try: | |
285 audit_path(abs) | |
286 except: | |
287 good = False | |
282 rel = m.rel(abs) | 288 rel = m.rel(abs) |
283 exact = m.exact(abs) | 289 exact = m.exact(abs) |
284 if abs not in repo.dirstate: | 290 if good and abs not in repo.dirstate: |
285 add.append(abs) | 291 add.append(abs) |
286 mapping[abs] = rel, m.exact(abs) | 292 mapping[abs] = rel, m.exact(abs) |
287 if repo.ui.verbose or not exact: | 293 if repo.ui.verbose or not exact: |
288 repo.ui.status(_('adding %s\n') % ((pats and rel) or abs)) | 294 repo.ui.status(_('adding %s\n') % ((pats and rel) or abs)) |
289 if repo.dirstate[abs] != 'r' and (not util.lexists(target) | 295 if repo.dirstate[abs] != 'r' and (not good or not util.lexists(target) |
290 or (os.path.isdir(target) and not os.path.islink(target))): | 296 or (os.path.isdir(target) and not os.path.islink(target))): |
291 remove.append(abs) | 297 remove.append(abs) |
292 mapping[abs] = rel, exact | 298 mapping[abs] = rel, exact |
293 if repo.ui.verbose or not exact: | 299 if repo.ui.verbose or not exact: |
294 repo.ui.status(_('removing %s\n') % ((pats and rel) or abs)) | 300 repo.ui.status(_('removing %s\n') % ((pats and rel) or abs)) |