# HG changeset patch # User mpm@selenic.com # Date 1123191085 28800 # Node ID 9c918287d10b4018e27f9148e247e68ff5fe952c # Parent 1fe3b14c704408d57e0b33efdaaf5adba6d87617# Parent 0fc4b1ab57e384a7db91505feb5d812b8f482bbe Merge with BOS diff -r 1fe3b14c7044 -r 9c918287d10b doc/hg.1.txt diff -r 1fe3b14c7044 -r 9c918287d10b hgeditor diff -r 1fe3b14c7044 -r 9c918287d10b hgmerge diff -r 1fe3b14c7044 -r 9c918287d10b mercurial/bdiff.c diff -r 1fe3b14c7044 -r 9c918287d10b mercurial/commands.py --- a/mercurial/commands.py Thu Aug 04 13:27:41 2005 -0800 +++ b/mercurial/commands.py Thu Aug 04 13:31:25 2005 -0800 @@ -53,11 +53,17 @@ b.reverse() return os.sep.join((['..'] * len(a)) + b) -def walk(repo, pats, opts, head = ''): +def makewalk(repo, pats, opts, head = ''): cwd = repo.getcwd() files, matchfn = matchpats(cwd, pats, opts, head) - for src, fn in repo.walk(files = files, match = matchfn): - yield src, fn, pathto(cwd, fn) + def walk(): + for src, fn in repo.walk(files = files, match = matchfn): + yield src, fn, pathto(cwd, fn) + return files, matchfn, walk() + +def walk(repo, pats, opts, head = ''): + files, matchfn, results = makewalk(repo, pats, opts, head) + for r in results: yield r revrangesep = ':' @@ -153,11 +159,11 @@ return open(make_filename(repo, r, pat, node, total, seqno, revwidth), mode) -def dodiff(fp, ui, repo, files=None, node1=None, node2=None): +def dodiff(fp, ui, repo, files=None, node1=None, node2=None, match=util.always): def date(c): return time.asctime(time.gmtime(float(c[2].split(' ')[0]))) - (c, a, d, u) = repo.changes(node1, node2, files) + (c, a, d, u) = repo.changes(node1, node2, files, match = match) if files: c, a, d = map(lambda x: filterfiles(files, x), (c, a, d)) @@ -588,9 +594,10 @@ raise Abort("too many revisions to diff") files = [] - for src, abs, rel in walk(repo, pats, opts): + roots, match, results = makewalk(repo, pats, opts) + for src, abs, rel in results: files.append(abs) - dodiff(sys.stdout, ui, repo, files, *revs) + dodiff(sys.stdout, ui, repo, files, *revs, **{'match': match}) def doexport(ui, repo, changeset, seqno, total, revwidth, opts): node = repo.lookup(changeset) diff -r 1fe3b14c7044 -r 9c918287d10b mercurial/hg.py diff -r 1fe3b14c7044 -r 9c918287d10b mercurial/hgweb.py diff -r 1fe3b14c7044 -r 9c918287d10b mercurial/util.py diff -r 1fe3b14c7044 -r 9c918287d10b tests/run-tests diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-clone diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-clone-failure diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-merge-revert diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-merge-revert.out diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-merge-revert2 diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-merge-revert2.out diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-merge5.out diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-push-warn diff -r 1fe3b14c7044 -r 9c918287d10b tests/test-push-warn.out