Skip to content

Commit

Permalink
Merge pull request #1470 from dmach/fix-linkdiff
Browse files Browse the repository at this point in the history
Fix 'linkdiff' command error 400: prj/pac/md5 not in repository
  • Loading branch information
dmach authored Jan 22, 2024
2 parents 16158e4 + 472a56f commit 3d7f79b
Showing 1 changed file with 24 additions and 20 deletions.
44 changes: 24 additions & 20 deletions osc/commandline.py
Original file line number Diff line number Diff line change
Expand Up @@ -4662,36 +4662,40 @@ def do_diff(self, subcmd, opts, *args):
if opts.link:
query = {'rev': 'latest'}
if pacs:
u = makeurl(pacs[0].apiurl, ['source', pacs[0].prjname, pacs[0].name], query=query)
apiurl = pacs[0].apiurl
project = pacs[0].prjname
package = pacs[0].name
else:
u = makeurl(self.get_api_url(), ['source', args[0], args[1]], query=query)
apiurl = self.get_api_url()
project = args[0]
package = args[1]

u = makeurl(apiurl, ['source', project, package], query=query)
f = http_GET(u)
root = ET.parse(f).getroot()
linkinfo = root.find('linkinfo')
if linkinfo is None:
raise oscerr.APIError('package is not a source link')
baserev = linkinfo.get('baserev')
opts.revision = baserev
if pacs:
print("diff working copy against last committed version\n")
else:
print(f"diff committed package against linked revision {baserev}\n")
run_pager(
highlight_diff(
server_diff(
self.get_api_url(),
linkinfo.get("project"),
linkinfo.get("package"),
baserev,
args[0],
args[1],
linkinfo.get("lsrcmd5"),
not opts.plain,
opts.missingok,
)

print(f"diff committed package against linked revision {baserev}\n")
run_pager(
highlight_diff(
server_diff(
self.get_api_url(),
linkinfo.get("project"),
linkinfo.get("package"),
baserev,
project,
package,
linkinfo.get("lsrcmd5"),
not opts.plain,
opts.missingok,
)
)
return
)
return

if opts.change:
try:
Expand Down

0 comments on commit 3d7f79b

Please sign in to comment.