changeset 32147:a77e61b45384

py3: handle opts correctly for `hg add` opts in add command were passed again to cmdutil.add() as kwargs so we need to convert them again to str. Intstead we convert them to bytes when passing scmutil.match(). Opts handling is also corrected for all the functions which are called from cmdutil.add().
author Pulkit Goyal <7895pulkit@gmail.com>
date Tue, 25 Apr 2017 01:52:30 +0530
parents e807c373846a
children 2cfdf5241096
files mercurial/cmdutil.py mercurial/commands.py mercurial/subrepo.py
diffstat 3 files changed, 4 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Mon Apr 24 04:32:04 2017 +0530
+++ b/mercurial/cmdutil.py	Tue Apr 25 01:52:30 2017 +0530
@@ -2279,7 +2279,7 @@
         sub = wctx.sub(subpath)
         try:
             submatch = matchmod.subdirmatcher(subpath, match)
-            if opts.get('subrepos'):
+            if opts.get(r'subrepos'):
                 bad.extend(sub.add(ui, submatch, prefix, False, **opts))
             else:
                 bad.extend(sub.add(ui, submatch, prefix, True, **opts))
@@ -2287,7 +2287,7 @@
             ui.status(_("skipping missing subrepository: %s\n")
                            % join(subpath))
 
-    if not opts.get('dry_run'):
+    if not opts.get(r'dry_run'):
         rejected = wctx.add(names, prefix)
         bad.extend(f for f in rejected if f in match.files())
     return bad
--- a/mercurial/commands.py	Mon Apr 24 04:32:04 2017 +0530
+++ b/mercurial/commands.py	Tue Apr 25 01:52:30 2017 +0530
@@ -255,8 +255,7 @@
     Returns 0 if all files are successfully added.
     """
 
-    opts = pycompat.byteskwargs(opts)
-    m = scmutil.match(repo[None], pats, opts)
+    m = scmutil.match(repo[None], pats, pycompat.byteskwargs(opts))
     rejected = cmdutil.add(ui, repo, m, "", False, **opts)
     return rejected and 1 or 0
 
--- a/mercurial/subrepo.py	Mon Apr 24 04:32:04 2017 +0530
+++ b/mercurial/subrepo.py	Tue Apr 25 01:52:30 2017 +0530
@@ -1771,7 +1771,7 @@
                 if exact:
                     rejected.append(f)
                 continue
-            if not opts.get('dry_run'):
+            if not opts.get(r'dry_run'):
                 self._gitcommand(command + [f])
 
         for f in rejected: