Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 11303:a1aad8333864
move working dir/dirstate methods from localrepo to workingctx
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Mon, 07 Jun 2010 20:03:32 +0200 |
parents | 8c6c7f6347a3 |
children | bf5d88c466e0 |
comparison
equal
deleted
inserted
replaced
11302:e1dde7363601 | 11303:a1aad8333864 |
---|---|
309 '(%d%% similar)\n') % | 309 '(%d%% similar)\n') % |
310 (m.rel(old), m.rel(new), score * 100)) | 310 (m.rel(old), m.rel(new), score * 100)) |
311 copies[new] = old | 311 copies[new] = old |
312 | 312 |
313 if not dry_run: | 313 if not dry_run: |
314 wctx = repo[None] | |
314 wlock = repo.wlock() | 315 wlock = repo.wlock() |
315 try: | 316 try: |
316 repo.remove(deleted) | 317 wctx.remove(deleted) |
317 repo.add(unknown) | 318 wctx.add(unknown) |
318 for new, old in copies.iteritems(): | 319 for new, old in copies.iteritems(): |
319 repo.copy(old, new) | 320 wctx.copy(old, new) |
320 finally: | 321 finally: |
321 wlock.release() | 322 wlock.release() |
322 | 323 |
323 def copy(ui, repo, pats, opts, rename=False): | 324 def copy(ui, repo, pats, opts, rename=False): |
324 # called with the repo lock held | 325 # called with the repo lock held |
327 # ossep => pathname that uses os.sep to separate directories | 328 # ossep => pathname that uses os.sep to separate directories |
328 cwd = repo.getcwd() | 329 cwd = repo.getcwd() |
329 targets = {} | 330 targets = {} |
330 after = opts.get("after") | 331 after = opts.get("after") |
331 dryrun = opts.get("dry_run") | 332 dryrun = opts.get("dry_run") |
333 wctx = repo[None] | |
332 | 334 |
333 def walkpat(pat): | 335 def walkpat(pat): |
334 srcs = [] | 336 srcs = [] |
335 badstates = after and '?' or '?r' | 337 badstates = after and '?' or '?r' |
336 m = match(repo, [pat], opts, globbed=True) | 338 m = match(repo, [pat], opts, globbed=True) |
419 if not ui.quiet: | 421 if not ui.quiet: |
420 ui.warn(_("%s has not been committed yet, so no copy " | 422 ui.warn(_("%s has not been committed yet, so no copy " |
421 "data will be stored for %s.\n") | 423 "data will be stored for %s.\n") |
422 % (repo.pathto(origsrc, cwd), reltarget)) | 424 % (repo.pathto(origsrc, cwd), reltarget)) |
423 if repo.dirstate[abstarget] in '?r' and not dryrun: | 425 if repo.dirstate[abstarget] in '?r' and not dryrun: |
424 repo.add([abstarget]) | 426 wctx.add([abstarget]) |
425 elif not dryrun: | 427 elif not dryrun: |
426 repo.copy(origsrc, abstarget) | 428 wctx.copy(origsrc, abstarget) |
427 | 429 |
428 if rename and not dryrun: | 430 if rename and not dryrun: |
429 repo.remove([abssrc], not after) | 431 wctx.remove([abssrc], not after) |
430 | 432 |
431 # pat: ossep | 433 # pat: ossep |
432 # dest ossep | 434 # dest ossep |
433 # srcs: list of (hgsep, hgsep, ossep, bool) | 435 # srcs: list of (hgsep, hgsep, ossep, bool) |
434 # return: function that takes hgsep and returns ossep | 436 # return: function that takes hgsep and returns ossep |