Mercurial > public > mercurial-scm > hg
diff mercurial/commands.py @ 6048:cfb4a51da7d5
Merge with crew-stable
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Fri, 08 Feb 2008 18:31:55 -0200 |
parents | 2da5b19a6460 7383384793fb |
children | 218d5b9aa466 57c1a7052982 |
line wrap: on
line diff
--- a/mercurial/commands.py Fri Feb 08 13:16:49 2008 -0200 +++ b/mercurial/commands.py Fri Feb 08 18:31:55 2008 -0200 @@ -225,6 +225,7 @@ revert_opts['date'] = None revert_opts['all'] = True revert_opts['rev'] = hex(parent) + revert_opts['no_backup'] = None revert(ui, repo, **revert_opts) commit_opts = opts.copy() commit_opts['addremove'] = False @@ -2196,7 +2197,6 @@ # but not other. names = {} - target_only = {} wlock = repo.wlock() try: @@ -2204,8 +2204,6 @@ for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, badmatch=mf.has_key): names[abs] = (rel, exact) - if src == 'b': - target_only[abs] = True # walk target manifest. @@ -2223,10 +2221,9 @@ if abs in names or src == 'b': continue names[abs] = (rel, exact) - target_only[abs] = True - - changes = repo.status(match=names.has_key)[:5] - modified, added, removed, deleted, unknown = map(dict.fromkeys, changes) + + changes = repo.status(match=names.has_key)[:4] + modified, added, removed, deleted = map(dict.fromkeys, changes) # if f is a rename, also revert the source cwd = repo.getcwd() @@ -2254,8 +2251,6 @@ (added, revert, forget, True, False), (removed, undelete, None, False, False), (deleted, revert, remove, False, False), - (unknown, add, None, True, False), - (target_only, add, None, False, False), ) entries = names.items() @@ -2282,10 +2277,14 @@ handle(hitlist, backuphit) elif misslist is not None: handle(misslist, backupmiss) - else: - if exact: ui.warn(_('file not managed: %s\n') % rel) break else: + if abs not in repo.dirstate: + if mfentry: + handle(add, True) + elif exact: + ui.warn(_('file not managed: %s\n') % rel) + continue # file has not changed in dirstate if node == parent: if exact: ui.warn(_('no changes needed to %s\n') % rel) @@ -2298,7 +2297,8 @@ if mfentry: # if version of file is same in parent and target # manifests, do nothing - if pmf[abs] != mfentry: + if (pmf[abs] != mfentry or + pmf.flags(abs) != mf.flags(abs)): handle(revert, False) else: handle(remove, False)