diff --git a/osc/commandline.py b/osc/commandline.py index 1b8a43eb..bc031a82 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -1246,7 +1246,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. except urllib2.HTTPError, e: if e.code != 400: e.osc_msg = 'Diff not possible' - raise + raise e # backward compatiblity: only a recent api/backend supports the missingok parameter try: print server_diff(conf.config['apiurl'], diff --git a/osc/core.py b/osc/core.py index 29153914..8bdcef92 100644 --- a/osc/core.py +++ b/osc/core.py @@ -4726,8 +4726,16 @@ def request_interactive_review(apiurl, request): if repl == 'i' and request.actions[0].type == 'submit': if tmpfile is None: tmpfile = tempfile.NamedTemporaryFile() - tmpfile.write(server_diff(apiurl, request.actions[0].dst_project, request.actions[0].dst_package, None, - request.actions[0].src_project, request.actions[0].src_package, request.actions[0].src_rev, True, True)) + # backward compatiblity: only a recent api/backend supports the missingok parameter + try: + diff = server_diff(apiurl, request.actions[0].dst_project, request.actions[0].dst_package, None, + request.actions[0].src_project, request.actions[0].src_package, request.actions[0].src_rev, True, True) + except urllib2.HTTPError, e: + if e.code != 400: + raise e + diff = server_diff(apiurl, request.actions[0].dst_project, request.actions[0].dst_package, None, + request.actions[0].src_project, request.actions[0].src_package, request.actions[0].src_rev, True, False) + tmpfile.write(diff) tmpfile.flush() pager = os.getenv('EDITOR', default='less') subprocess.call('%s %s' % (pager, tmpfile.name), shell=True)