Mercurial > hg-stable
changeset 12269:877236cdd437
add: move main part to cmdutil to make it easier to reuse
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Mon, 13 Sep 2010 13:09:11 +0200 |
parents | 83aaeba32b88 |
children | 166b9866580a |
files | mercurial/cmdutil.py mercurial/commands.py |
diffstat | 2 files changed, 18 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Mon Sep 13 13:09:09 2010 +0200 +++ b/mercurial/cmdutil.py Mon Sep 13 13:09:11 2010 +0200 @@ -1280,6 +1280,22 @@ yield change(rev) return iterate() +def add(ui, repo, match, dryrun): + bad = [] + oldbad = match.bad + match.bad = lambda x, y: bad.append(x) or oldbad(x, y) + names = [] + for f in repo.walk(match): + exact = match.exact(f) + if exact or f not in repo.dirstate: + names.append(f) + if ui.verbose or not exact: + ui.status(_('adding %s\n') % match.rel(f)) + if not dryrun: + rejected = repo[None].add(names) + bad.extend(f for f in rejected if f in match.files()) + return bad + def commit(ui, repo, commitfunc, pats, opts): '''commit the specified files or all outstanding changes''' date = opts.get('date')
--- a/mercurial/commands.py Mon Sep 13 13:09:09 2010 +0200 +++ b/mercurial/commands.py Mon Sep 13 13:09:11 2010 +0200 @@ -46,22 +46,9 @@ Returns 0 if all files are successfully added. """ - bad = [] - names = [] m = cmdutil.match(repo, pats, opts) - oldbad = m.bad - m.bad = lambda x, y: bad.append(x) or oldbad(x, y) - - for f in repo.walk(m): - exact = m.exact(f) - if exact or f not in repo.dirstate: - names.append(f) - if ui.verbose or not exact: - ui.status(_('adding %s\n') % m.rel(f)) - if not opts.get('dry_run'): - rejected = repo[None].add(names) - bad += [f for f in rejected if f in m.files()] - return bad and 1 or 0 + rejected = cmdutil.add(ui, repo, m, opts.get('dry_run')) + return rejected and 1 or 0 def addremove(ui, repo, *pats, **opts): """add all new files, delete all missing files