diff options
author | Peter Williams <pwil3058@gmail.com> | 2010-05-24 14:37:00 -0700 |
---|---|---|
committer | Peter Williams <pwil3058@gmail.com> | 2010-05-24 14:37:00 -0700 |
commit | 20049bf9714521e66654e19a59a149f2ed6e24df (patch) | |
tree | 9c8d096f3c1c9a5f1908789dd28e3027b194a2e9 /lib/codereview/codereview.py | |
parent | bc1826bb9ea58e344e276c444e9fb678f751f7f6 (diff) | |
download | golang-20049bf9714521e66654e19a59a149f2ed6e24df.tar.gz |
codereview: work better with mq
R=rsc
CC=golang-dev
http://codereview.appspot.com/1140043
Committer: Russ Cox <rsc@golang.org>
Diffstat (limited to 'lib/codereview/codereview.py')
-rw-r--r-- | lib/codereview/codereview.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py index 9af28cfda..4b1797a7f 100644 --- a/lib/codereview/codereview.py +++ b/lib/codereview/codereview.py @@ -533,11 +533,18 @@ _change_prolog = """# Change list. ####################################################################### # Mercurial helper functions +# Get effective change nodes taking into account applied MQ patches +def effective_revpair(repo): + try: + return cmdutil.revpair(repo, ['qparent']) + except: + return cmdutil.revpair(repo, None) + # Return list of changed files in repository that match pats. def ChangedFiles(ui, repo, pats, opts): # Find list of files being operated on. matcher = cmdutil.match(repo, pats, opts) - node1, node2 = cmdutil.revpair(repo, None) + node1, node2 = effective_revpair(repo) modified, added, removed = repo.status(node1, node2, matcher)[:3] l = modified + added + removed l.sort() @@ -546,7 +553,7 @@ def ChangedFiles(ui, repo, pats, opts): # Return list of changed files in repository that match pats and still exist. def ChangedExistingFiles(ui, repo, pats, opts): matcher = cmdutil.match(repo, pats, opts) - node1, node2 = cmdutil.revpair(repo, None) + node1, node2 = effective_revpair(repo) modified, added, _ = repo.status(node1, node2, matcher)[:3] l = modified + added l.sort() @@ -2828,8 +2835,11 @@ class MercurialVCS(VersionControlSystem): if self.options.revision: self.base_rev = self.options.revision else: - self.base_rev = RunShell(["hg", "parent", "-q"]).split(':')[1].strip() - + mqparent, err = RunShellWithReturnCode(['hg', 'log', '--rev', 'qparent', '--template={node}']) + if not err: + self.base_rev = mqparent + else: + self.base_rev = RunShell(["hg", "parent", "-q"]).split(':')[1].strip() def _GetRelPath(self, filename): """Get relative path of a file according to the current directory, given its logical path in the repo.""" |