mercurial/cmdutil.py
changeset 39350 5b92a717bfc1
parent 39349 534e451b6dda
child 39369 34ba47117164
equal deleted inserted replaced
39349:534e451b6dda 39350:5b92a717bfc1
  1182         prevsrc = targets.get(abstarget)
  1182         prevsrc = targets.get(abstarget)
  1183         if prevsrc is not None:
  1183         if prevsrc is not None:
  1184             ui.warn(_('%s: not overwriting - %s collides with %s\n') %
  1184             ui.warn(_('%s: not overwriting - %s collides with %s\n') %
  1185                     (reltarget, repo.pathto(abssrc, cwd),
  1185                     (reltarget, repo.pathto(abssrc, cwd),
  1186                      repo.pathto(prevsrc, cwd)))
  1186                      repo.pathto(prevsrc, cwd)))
  1187             return
  1187             return True # report a failure
  1188 
  1188 
  1189         # check for overwrites
  1189         # check for overwrites
  1190         exists = os.path.lexists(target)
  1190         exists = os.path.lexists(target)
  1191         samefile = False
  1191         samefile = False
  1192         if exists and abssrc != abstarget:
  1192         if exists and abssrc != abstarget:
  1193             if (repo.dirstate.normalize(abssrc) ==
  1193             if (repo.dirstate.normalize(abssrc) ==
  1194                 repo.dirstate.normalize(abstarget)):
  1194                 repo.dirstate.normalize(abstarget)):
  1195                 if not rename:
  1195                 if not rename:
  1196                     ui.warn(_("%s: can't copy - same file\n") % reltarget)
  1196                     ui.warn(_("%s: can't copy - same file\n") % reltarget)
  1197                     return
  1197                     return True # report a failure
  1198                 exists = False
  1198                 exists = False
  1199                 samefile = True
  1199                 samefile = True
  1200 
  1200 
  1201         if not after and exists or after and state in 'mn':
  1201         if not after and exists or after and state in 'mn':
  1202             if not opts['force']:
  1202             if not opts['force']:
  1218                         hint = _("('hg rename --after' to record the rename)\n")
  1218                         hint = _("('hg rename --after' to record the rename)\n")
  1219                     else:
  1219                     else:
  1220                         hint = _("('hg copy --after' to record the copy)\n")
  1220                         hint = _("('hg copy --after' to record the copy)\n")
  1221                 ui.warn(msg % reltarget)
  1221                 ui.warn(msg % reltarget)
  1222                 ui.warn(hint)
  1222                 ui.warn(hint)
  1223                 return
  1223                 return True # report a failure
  1224 
  1224 
  1225         if after:
  1225         if after:
  1226             if not exists:
  1226             if not exists:
  1227                 if rename:
  1227                 if rename:
  1228                     ui.warn(_('%s: not recording move - %s does not exist\n') %
  1228                     ui.warn(_('%s: not recording move - %s does not exist\n') %
  1229                             (relsrc, reltarget))
  1229                             (relsrc, reltarget))
  1230                 else:
  1230                 else:
  1231                     ui.warn(_('%s: not recording copy - %s does not exist\n') %
  1231                     ui.warn(_('%s: not recording copy - %s does not exist\n') %
  1232                             (relsrc, reltarget))
  1232                             (relsrc, reltarget))
  1233                 return
  1233                 return True # report a failure
  1234         elif not dryrun:
  1234         elif not dryrun:
  1235             try:
  1235             try:
  1236                 if exists:
  1236                 if exists:
  1237                     os.unlink(target)
  1237                     os.unlink(target)
  1238                 targetdir = os.path.dirname(target) or '.'
  1238                 targetdir = os.path.dirname(target) or '.'