Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/commands.py @ 874:d4cb383e7de7
Merge Chris's changes with mine.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Fri, 12 Aug 2005 09:58:35 -0800 |
parents | c2e77581bc84 4480e035d838 |
children | 781266a78fe1 |
comparison
equal
deleted
inserted
replaced
871:c2e77581bc84 | 874:d4cb383e7de7 |
---|---|
391 def addremove(ui, repo, *pats, **opts): | 391 def addremove(ui, repo, *pats, **opts): |
392 """add all new files, delete all missing files""" | 392 """add all new files, delete all missing files""" |
393 q = dict(zip(pats, pats)) | 393 q = dict(zip(pats, pats)) |
394 add, remove = [], [] | 394 add, remove = [], [] |
395 for src, abs, rel in walk(repo, pats, opts): | 395 for src, abs, rel in walk(repo, pats, opts): |
396 if src == 'f': | 396 if src == 'f' and repo.dirstate.state(abs) == '?': |
397 if repo.dirstate.state(abs) == '?': | 397 add.append(abs) |
398 add.append(abs) | 398 if rel not in q: ui.status('adding ', rel, '\n') |
399 if rel not in q: ui.status('adding ', rel, '\n') | 399 if repo.dirstate.state(abs) != 'r' and not os.path.exists(rel): |
400 elif repo.dirstate.state(abs) != 'r' and not os.path.exists(rel): | |
401 remove.append(abs) | 400 remove.append(abs) |
402 if rel not in q: ui.status('removing ', rel, '\n') | 401 if rel not in q: ui.status('removing ', rel, '\n') |
403 repo.add(add) | 402 repo.add(add) |
404 repo.remove(remove) | 403 repo.remove(remove) |
405 | 404 |
630 | 629 |
631 if len(revs) > 2: | 630 if len(revs) > 2: |
632 raise util.Abort("too many revisions to diff") | 631 raise util.Abort("too many revisions to diff") |
633 | 632 |
634 files = [] | 633 files = [] |
635 roots, match, results = makewalk(repo, pats, opts) | 634 match = util.always |
636 for src, abs, rel in results: | 635 if pats: |
637 files.append(abs) | 636 roots, match, results = makewalk(repo, pats, opts) |
637 for src, abs, rel in results: | |
638 files.append(abs) | |
638 dodiff(sys.stdout, ui, repo, files, *revs, **{'match': match}) | 639 dodiff(sys.stdout, ui, repo, files, *revs, **{'match': match}) |
639 | 640 |
640 def doexport(ui, repo, changeset, seqno, total, revwidth, opts): | 641 def doexport(ui, repo, changeset, seqno, total, revwidth, opts): |
641 node = repo.lookup(changeset) | 642 node = repo.lookup(changeset) |
642 prev, other = repo.changelog.parents(node) | 643 prev, other = repo.changelog.parents(node) |