mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-10 06:46:15 +01:00
cat/less/blame command: default to expand to stay in sync with checkout
this allows us also to drop the nasty fallback code
This commit is contained in:
parent
6184c7ee78
commit
6b91b282b8
2
NEWS
2
NEWS
@ -1,5 +1,5 @@
|
||||
0.158
|
||||
-
|
||||
- cat/less/blame command: default to expand to stay in sync with checkout
|
||||
|
||||
0.157
|
||||
- add unpublish command (requires OBS 2.8)
|
||||
|
@ -7929,7 +7929,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
||||
@cmdln.option('-r', '--revision', metavar='rev',
|
||||
help='print out the specified revision')
|
||||
@cmdln.option('-e', '--expand', action='store_true',
|
||||
help='force expansion of linked packages.')
|
||||
help='(default) force expansion of linked packages.')
|
||||
@cmdln.option('-u', '--unexpand', action='store_true',
|
||||
help='always work with unexpanded packages.')
|
||||
@cmdln.option('-M', '--meta', action='store_true',
|
||||
@ -7987,30 +7987,16 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
||||
query['meta'] = 1
|
||||
if opts.revision:
|
||||
query['rev'] = opts.revision
|
||||
if opts.expand:
|
||||
if not opts.unexpand:
|
||||
query['rev'] = show_upstream_srcmd5(apiurl, project, package, expand=True, revision=opts.revision, meta=opts.meta)
|
||||
query['expand'] = 1 # important for blame case to follow links in old revisions
|
||||
u = makeurl(apiurl, ['source', project, package, filename], query=query)
|
||||
try:
|
||||
if subcmd == 'less':
|
||||
f = http_GET(u)
|
||||
run_pager(''.join(f.readlines()))
|
||||
else:
|
||||
for data in streamfile(u):
|
||||
sys.stdout.write(data)
|
||||
except HTTPError as e:
|
||||
if e.code == 404 and not opts.expand and not opts.unexpand:
|
||||
print('expanding link...', file=sys.stderr)
|
||||
query['rev'] = show_upstream_srcmd5(apiurl, project, package, expand=True, revision=opts.revision)
|
||||
u = makeurl(apiurl, ['source', project, package, filename], query=query)
|
||||
if subcmd == "less":
|
||||
f = http_GET(u)
|
||||
run_pager(''.join(f.readlines()))
|
||||
else:
|
||||
for data in streamfile(u):
|
||||
sys.stdout.write(data)
|
||||
else:
|
||||
e.osc_msg = 'If linked, try: cat -e'
|
||||
raise e
|
||||
if subcmd == 'less':
|
||||
f = http_GET(u)
|
||||
run_pager(''.join(f.readlines()))
|
||||
else:
|
||||
for data in streamfile(u):
|
||||
sys.stdout.write(data)
|
||||
|
||||
|
||||
# helper function to download a file from a specific revision
|
||||
|
Loading…
Reference in New Issue
Block a user