81 while True: |
82 while True: |
82 try: |
83 try: |
83 args = fancyopts.fancyopts(list(args), cmdoptions, opts, True) |
84 args = fancyopts.fancyopts(list(args), cmdoptions, opts, True) |
84 break |
85 break |
85 except getopt.GetoptError as ex: |
86 except getopt.GetoptError as ex: |
86 if "requires argument" in ex.msg: |
87 if r"requires argument" in ex.msg: |
87 raise |
88 raise |
88 if ('--' + ex.opt) in ex.msg: |
89 if (r'--' + ex.opt) in ex.msg: |
89 flag = '--' + ex.opt |
90 flag = '--' + pycompat.bytestr(ex.opt) |
90 elif ('-' + ex.opt) in ex.msg: |
91 elif (r'-' + ex.opt) in ex.msg: |
91 flag = '-' + ex.opt |
92 flag = '-' + pycompat.bytestr(ex.opt) |
92 else: |
93 else: |
93 raise error.Abort(_("unknown option %s") % ex.opt) |
94 raise error.Abort(_("unknown option %s") % |
|
95 pycompat.bytestr(ex.opt)) |
94 try: |
96 try: |
95 args.remove(flag) |
97 args.remove(flag) |
96 except Exception: |
98 except Exception: |
97 msg = _("unknown option '%s' packed with other options") |
99 msg = _("unknown option '%s' packed with other options") |
98 hint = _("please try passing the option as its own flag: -%s") |
100 hint = _("please try passing the option as its own flag: -%s") |
99 raise error.Abort(msg % ex.opt, hint=hint % ex.opt) |
101 raise error.Abort(msg % pycompat.bytestr(ex.opt), |
|
102 hint=hint % pycompat.bytestr(ex.opt)) |
100 |
103 |
101 ui.warn(_("ignoring unknown option %s\n") % flag) |
104 ui.warn(_("ignoring unknown option %s\n") % flag) |
102 |
105 |
103 args = list([convert(x) for x in args]) |
106 args = list([convert(x) for x in args]) |
104 opts = dict([(k, convert(v)) if isinstance(v, str) else (k, v) |
107 opts = dict([(k, convert(v)) if isinstance(v, str) else (k, v) |