# HG changeset patch # User liscju # Date 1457508117 -3600 # Node ID 2565fe39a76c8a5d3409e0b5d275a0a9986413db # Parent a84fc98a8af57767594f4bac046b7de193a025a7 shelve: changes getting opts values by get method When shelve is used by another extension that doesn't provide all necessary values in opts shelve raises KeyError exception. This patch fixes this by getting values from opts dictionary with get method. diff -r a84fc98a8af5 -r 2565fe39a76c hgext/shelve.py --- a/hgext/shelve.py Sat Feb 27 21:15:16 2016 -0800 +++ b/hgext/shelve.py Wed Mar 09 08:21:57 2016 +0100 @@ -290,10 +290,10 @@ else: desc = '(changes in empty repository)' - if not opts['message']: + if not opts.get('message'): opts['message'] = desc - name = opts['name'] + name = opts.get('name') lock = tr = None try: @@ -540,7 +540,7 @@ def unshelvecleanup(ui, repo, name, opts): """remove related files after an unshelve""" - if not opts['keep']: + if not opts.get('keep'): for filetype in 'hg patch'.split(): shelvedfile(repo, name, filetype).movetobackup() cleanupoldbackups(repo) @@ -630,8 +630,8 @@ return _dounshelve(ui, repo, *shelved, **opts) def _dounshelve(ui, repo, *shelved, **opts): - abortf = opts['abort'] - continuef = opts['continue'] + abortf = opts.get('abort') + continuef = opts.get('continue') if not abortf and not continuef: cmdutil.checkunfinished(repo) @@ -850,7 +850,7 @@ ('stat', set(['stat', 'list'])), ] def checkopt(opt): - if opts[opt]: + if opts.get(opt): for i, allowable in allowables: if opts[i] and opt not in allowable: raise error.Abort(_("options '--%s' and '--%s' may not be "