From da745728cce8331ea0971f6d174a8c58d693dc64 Mon Sep 17 00:00:00 2001 From: Marcus Huewe Date: Tue, 22 Nov 2011 20:12:28 +0100 Subject: [PATCH] - do_log: support -r rev1:rev2 (revision ranges) This obviously only work for "plain" revisions --- osc/commandline.py | 4 ++-- osc/core.py | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/osc/commandline.py b/osc/commandline.py index 379540c6..d38b5399 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -5184,7 +5184,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. project = args[0] package = args[1] - rev, dummy = parseRevisionOption(opts.revision) + rev, rev_upper = parseRevisionOption(opts.revision) if rev and not checkRevision(project, package, rev, apiurl, opts.meta): print >>sys.stderr, 'Revision \'%s\' does not exist' % rev sys.exit(1) @@ -5195,7 +5195,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. if opts.xml: format = 'xml' - log = '\n'.join(get_commitlog(apiurl, project, package, rev, format, opts.meta, opts.deleted)) + log = '\n'.join(get_commitlog(apiurl, project, package, rev, format, opts.meta, opts.deleted, rev_upper)) run_pager(log) def do_service(self, subcmd, opts, *args): diff --git a/osc/core.py b/osc/core.py index 87b63da4..88a693f6 100644 --- a/osc/core.py +++ b/osc/core.py @@ -5026,7 +5026,7 @@ def print_jobhistory(apiurl, prj, current_package, repository, arch, format = 't print '%s %-50s %-16s %-16s %-16s %-16s' % (endtime, package[0:49], reason[0:15], code[0:15], waitbuild, worker) -def get_commitlog(apiurl, prj, package, revision, format = 'text', meta = False, deleted = False): +def get_commitlog(apiurl, prj, package, revision, format = 'text', meta = False, deleted = False, revision_upper=None): import time query = {} @@ -5051,7 +5051,10 @@ def get_commitlog(apiurl, prj, package, revision, format = 'text', meta = False, rev = int(node.get('rev')) #vrev = int(node.get('vrev')) # what is the meaning of vrev? try: - if revision and rev != int(revision): + if revision is not None and revision_upper is not None: + if rev > int(revision_upper) or rev < int(revision): + continue + elif revision is not None and rev != int(revision): continue except ValueError: if revision != srcmd5: