Allow specifying remote branch at listing changes
Signed-off-by: You-Sheng Yang (vicamo) <vicamo@gmail.com> Change-Id: I9267598fcf2eb9316023c453d29bb1ffe4f94404
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
.Op Ar branch
|
||||
.Nm
|
||||
.Fl l
|
||||
.Op Ar branch
|
||||
.Nm
|
||||
.Fl \-version
|
||||
.Sh DESCRIPTION
|
||||
|
||||
@@ -623,7 +623,7 @@ def parse_gerrit_ssh_params_from_git_url(git_url):
|
||||
return (hostname, username, port, project_name)
|
||||
|
||||
|
||||
def query_reviews(remote_url, project=None, change=None,
|
||||
def query_reviews(remote_url, project=None, branch=None, change=None,
|
||||
current_patch_set=True, exception=CommandFailed,
|
||||
parse_exc=Exception):
|
||||
if remote_url.startswith('http://') or remote_url.startswith('https://'):
|
||||
@@ -632,13 +632,14 @@ def query_reviews(remote_url, project=None, change=None,
|
||||
query = query_reviews_over_ssh
|
||||
return query(remote_url,
|
||||
project=project,
|
||||
branch=branch,
|
||||
change=change,
|
||||
current_patch_set=current_patch_set,
|
||||
exception=exception,
|
||||
parse_exc=parse_exc)
|
||||
|
||||
|
||||
def query_reviews_over_http(remote_url, project=None, change=None,
|
||||
def query_reviews_over_http(remote_url, project=None, branch=None, change=None,
|
||||
current_patch_set=True, exception=CommandFailed,
|
||||
parse_exc=Exception):
|
||||
if project:
|
||||
@@ -666,7 +667,10 @@ def query_reviews_over_http(remote_url, project=None, change=None,
|
||||
else:
|
||||
project_name = re.sub(r"^/|(\.git$)", "",
|
||||
urlparse(remote_url).path)
|
||||
params = urlencode({'q': 'project:%s status:open' % project_name})
|
||||
query = 'project:%s status:open' % project_name
|
||||
if branch:
|
||||
query += ' branch:%s' % branch
|
||||
params = urlencode({'q': query})
|
||||
url += '?' + params
|
||||
|
||||
if VERBOSE:
|
||||
@@ -696,7 +700,7 @@ def query_reviews_over_http(remote_url, project=None, change=None,
|
||||
return reviews
|
||||
|
||||
|
||||
def query_reviews_over_ssh(remote_url, project=None, change=None,
|
||||
def query_reviews_over_ssh(remote_url, project=None, branch=None, change=None,
|
||||
current_patch_set=True, exception=CommandFailed,
|
||||
parse_exc=Exception):
|
||||
(hostname, username, port, project_name) = \
|
||||
@@ -709,6 +713,8 @@ def query_reviews_over_ssh(remote_url, project=None, change=None,
|
||||
query = "--patch-sets change:%s" % change
|
||||
else:
|
||||
query = "project:%s status:open" % project_name
|
||||
if branch:
|
||||
query += ' branch:%s' % branch
|
||||
|
||||
port_data = "p%s" % port if port is not None else ""
|
||||
if username is None:
|
||||
@@ -1150,12 +1156,13 @@ class ReviewsPrinter(object):
|
||||
print("Found %d items for review" % total_reviews)
|
||||
|
||||
|
||||
def list_reviews(remote, project, with_topic=False):
|
||||
def list_reviews(remote, project, branch=None, with_topic=False):
|
||||
remote_url = get_remote_url(remote)
|
||||
|
||||
reviews = []
|
||||
for r in query_reviews(remote_url,
|
||||
project=project,
|
||||
branch=branch,
|
||||
exception=CannotQueryOpenChangesets,
|
||||
parse_exc=CannotParseOpenChangesets):
|
||||
reviews.append(Review(r))
|
||||
@@ -1752,7 +1759,9 @@ additional information:
|
||||
return
|
||||
elif options.list:
|
||||
with_topic = options.list > 1
|
||||
list_reviews(remote, config['project'], with_topic=with_topic)
|
||||
list_reviews(remote, config['project'],
|
||||
branch if options.branch or options.track else None,
|
||||
with_topic=with_topic)
|
||||
return
|
||||
|
||||
if options.custom_script:
|
||||
|
||||
Reference in New Issue
Block a user