From 14899b4d76bb27fc5247972e02ab684a31f3ac83 Mon Sep 17 00:00:00 2001 From: lethliel Date: Mon, 25 May 2020 20:47:51 +0200 Subject: [PATCH] show diff when mr is created As in do_submitrequest show the diff also when do_maintenancerequest is called. --- osc/commandline.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/osc/commandline.py b/osc/commandline.py index 782d23084f..54dbdb0600 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -3291,7 +3291,27 @@ def do_maintenancerequest(self, subcmd, opts, *args): print('Using target project \'%s\'%s' % (target_project, release_in)) if not opts.message: - opts.message = edit_message() + try: + rdiff = b'old: %s/%s\nnew: %s/%s\n' % (target_project.encode(), source_package.encode(), release_project.encode(), source_package.encode()) + rdiff += server_diff(apiurl, + release_project, source_package, None, + source_project, source_package, None, True) + except: + rdiff = b'' + if rdiff is not None: + rdiff = decode_it(rdiff) + difflines = [] + doappend = False + changes_re = re.compile(r'^--- .*\.changes ') + for line in rdiff.split('\n'): + if line.startswith('--- '): + if changes_re.match(line): + doappend = True + else: + doappend = False + if doappend: + difflines.append(line) + opts.message = edit_message(footer=rdiff, template='\n'.join(parse_diff_for_commit_message('\n'.join(difflines)))) supersede_existing = False reqs = []