comparison mercurial/commands.py @ 4232:0d51eb296fb9

Merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 16 Mar 2007 00:45:18 -0300
parents 5ccbc0be6cdb 83153299aab5
children ca639faa38a2
comparison
equal deleted inserted replaced
4224:2a8b6d78d7ee 4232:0d51eb296fb9
491 # abssrc: hgsep 491 # abssrc: hgsep
492 # relsrc: ossep 492 # relsrc: ossep
493 # target: ossep 493 # target: ossep
494 def copy(origsrc, abssrc, relsrc, target, exact): 494 def copy(origsrc, abssrc, relsrc, target, exact):
495 abstarget = util.canonpath(repo.root, cwd, target) 495 abstarget = util.canonpath(repo.root, cwd, target)
496 reltarget = util.pathto(cwd, abstarget) 496 reltarget = util.pathto(repo.root, cwd, abstarget)
497 prevsrc = targets.get(abstarget) 497 prevsrc = targets.get(abstarget)
498 if prevsrc is not None: 498 if prevsrc is not None:
499 ui.warn(_('%s: not overwriting - %s collides with %s\n') % 499 ui.warn(_('%s: not overwriting - %s collides with %s\n') %
500 (reltarget, util.localpath(abssrc), 500 (reltarget, util.localpath(abssrc),
501 util.localpath(prevsrc))) 501 util.localpath(prevsrc)))
2170 if src == 'b': 2170 if src == 'b':
2171 target_only[abs] = True 2171 target_only[abs] = True
2172 2172
2173 # walk target manifest. 2173 # walk target manifest.
2174 2174
2175 def badmatch(path):
2176 if path in names:
2177 return True
2178 path_ = path + '/'
2179 for f in names:
2180 if f.startswith(path_):
2181 return True
2182 return False
2183
2175 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node, 2184 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node,
2176 badmatch=names.has_key): 2185 badmatch=badmatch):
2177 if abs in names: continue 2186 if abs in names or src == 'b':
2187 continue
2178 names[abs] = (rel, exact) 2188 names[abs] = (rel, exact)
2179 target_only[abs] = True 2189 target_only[abs] = True
2180 2190
2181 changes = repo.status(match=names.has_key, wlock=wlock)[:5] 2191 changes = repo.status(match=names.has_key, wlock=wlock)[:5]
2182 modified, added, removed, deleted, unknown = map(dict.fromkeys, changes) 2192 modified, added, removed, deleted, unknown = map(dict.fromkeys, changes)
2412 format = "%%s%s" % end 2422 format = "%%s%s" % end
2413 else: 2423 else:
2414 format = "%s %%s%s" % (char, end) 2424 format = "%s %%s%s" % (char, end)
2415 2425
2416 for f in changes: 2426 for f in changes:
2417 ui.write(format % util.pathto(cwd, f)) 2427 ui.write(format % util.pathto(repo.root, cwd, f))
2418 if ((all or opts.get('copies')) and not opts.get('no_status')): 2428 if ((all or opts.get('copies')) and not opts.get('no_status')):
2419 copied = repo.dirstate.copied(f) 2429 copied = repo.dirstate.copied(f)
2420 if copied: 2430 if copied:
2421 ui.write(' %s%s' % (util.pathto(cwd, copied), end)) 2431 ui.write(' %s%s' % (util.pathto(repo.root, cwd, copied),
2432 end))
2422 2433
2423 def tag(ui, repo, name, rev_=None, **opts): 2434 def tag(ui, repo, name, rev_=None, **opts):
2424 """add a tag for the current or given revision 2435 """add a tag for the current or given revision
2425 2436
2426 Name a particular revision using <name>. 2437 Name a particular revision using <name>.