diff --git a/contrib/hgit b/contrib/hgit --- a/contrib/hgit +++ b/contrib/hgit @@ -18,7 +18,7 @@ def difftree(args, ui, repo): if node2: change = repo.changelog.read(node2) mmap2 = repo.manifest.read(change[0]) - (c, a, d) = repo.diffrevs(node1, node2) + (c, a, d, u) = repo.changes(node1, node2) def read(f): return repo.file(f).read(mmap2[f]) date2 = date(change) else: @@ -51,8 +51,7 @@ def difftree(args, ui, repo): doptions = {} opts = [('p', 'patch', None, 'patch'), ('r', 'recursive', None, 'recursive')] - args = fancyopts.fancyopts(args, opts, doptions, - 'hg diff-tree [options] sha1 sha1') + args = fancyopts.fancyopts(args, opts, doptions) if len(args) < 2: help() @@ -61,7 +60,7 @@ def difftree(args, ui, repo): revs.append(repo.lookup(args[1])) args = args[2:] if doptions['patch']: - commands.dodiff(ui, repo, "", args, *revs) + commands.dodiff(sys.stdout, ui, repo, args, *revs) else: __difftree(repo, args, *revs) @@ -87,8 +86,7 @@ def catcommit(repo, n, prefix): def catfile(args, ui, repo): doptions = {} opts = [('s', 'stdin', None, 'stdin')] - args = fancyopts.fancyopts(args, opts, doptions, - 'hg cat-file type sha1') + args = fancyopts.fancyopts(args, opts, doptions) # in stdin mode, every line except the commit is prefixed with two # spaces. This way the our caller can find the commit without magic @@ -113,7 +111,7 @@ def catfile(args, ui, repo): if type != "commit": sys.stderr.write("aborting hg cat-file only understands commits\n") sys.exit(1); - n = repo.changelog.lookup(r) + n = repo.lookup(r) catcommit(repo, n, prefix) if doptions['stdin']: try: @@ -148,17 +146,17 @@ def revtree(args, repo, full="tree", max # figure out which commits they are asking for and which ones they # want us to stop on for i in range(len(args)): - if args[i].count('^'): - s = args[i].split('^')[1] - stop_sha1.append(repo.changelog.lookup(s)) + if args[i].startswith('^'): + s = repo.lookup(args[i][1:]) + stop_sha1.append(s) want_sha1.append(s) elif args[i] != 'HEAD': - want_sha1.append(args[i]) + want_sha1.append(repo.lookup(args[i])) # calculate the graph for the supplied commits for i in range(len(want_sha1)): reachable.append({}); - n = repo.changelog.lookup(want_sha1[i]); + n = want_sha1[i]; visit = [n]; reachable[i][n] = 1 while visit: @@ -209,8 +207,7 @@ def revlist(args, repo): doptions = {} opts = [('c', 'commit', None, 'commit'), ('n', 'max-nr', 0, 'max-nr')] - args = fancyopts.fancyopts(args, opts, doptions, - 'hg rev-list') + args = fancyopts.fancyopts(args, opts, doptions) if doptions['commit']: full = "commit" else: @@ -227,7 +224,7 @@ def help(): sys.stderr.write(" hgit cat-file [type] sha1\n") sys.stderr.write(" hgit diff-tree [-p] [-r] sha1 sha1\n") sys.stderr.write(" hgit rev-tree [sha1 ... [^stop sha1]]\n") - sys.stderr.write(" hgit rev-list [-c]\n") + sys.stderr.write(" hgit rev-list [-c] [sha1 [stop sha1]\n") cmd = sys.argv[1] args = sys.argv[2:]