mercurial/cmdutil.py
changeset 44360 2bd3b95fdce0
parent 44306 a0ec05d93c8e
child 44361 27a78ea30b48
equal deleted inserted replaced
44359:a69c08cdb2a8 44360:2bd3b95fdce0
  1417     cwd = repo.getcwd()
  1417     cwd = repo.getcwd()
  1418     targets = {}
  1418     targets = {}
  1419     after = opts.get(b"after")
  1419     after = opts.get(b"after")
  1420     dryrun = opts.get(b"dry_run")
  1420     dryrun = opts.get(b"dry_run")
  1421     wctx = repo[None]
  1421     wctx = repo[None]
       
  1422     pctx = wctx.p1()
  1422 
  1423 
  1423     uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
  1424     uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
  1424 
  1425 
  1425     def walkpat(pat):
  1426     def walkpat(pat):
  1426         srcs = []
  1427         srcs = []
  1427         if after:
       
  1428             badstates = b'?'
       
  1429         else:
       
  1430             badstates = b'?r'
       
  1431         m = scmutil.match(wctx, [pat], opts, globbed=True)
  1428         m = scmutil.match(wctx, [pat], opts, globbed=True)
  1432         for abs in wctx.walk(m):
  1429         for abs in wctx.walk(m):
  1433             state = repo.dirstate[abs]
       
  1434             rel = uipathfn(abs)
  1430             rel = uipathfn(abs)
  1435             exact = m.exact(abs)
  1431             exact = m.exact(abs)
  1436             if state in badstates:
  1432             if abs not in wctx:
  1437                 if exact and state == b'?':
  1433                 if abs in pctx:
  1438                     ui.warn(_(b'%s: not copying - file is not managed\n') % rel)
  1434                     if not after:
  1439                 if exact and state == b'r':
  1435                         if exact:
  1440                     ui.warn(
  1436                             ui.warn(
  1441                         _(
  1437                                 _(
  1442                             b'%s: not copying - file has been marked for'
  1438                                     b'%s: not copying - file has been marked '
  1443                             b' remove\n'
  1439                                     b'for remove\n'
       
  1440                                 )
       
  1441                                 % rel
       
  1442                             )
       
  1443                         continue
       
  1444                 else:
       
  1445                     if exact:
       
  1446                         ui.warn(
       
  1447                             _(b'%s: not copying - file is not managed\n') % rel
  1444                         )
  1448                         )
  1445                         % rel
  1449                     continue
  1446                     )
  1450 
  1447                 continue
       
  1448             # abs: hgsep
  1451             # abs: hgsep
  1449             # rel: ossep
  1452             # rel: ossep
  1450             srcs.append((abs, rel, exact))
  1453             srcs.append((abs, rel, exact))
  1451         return srcs
  1454         return srcs
  1452 
  1455