D4462: narrow: use util.readfile() and improve error message using --narrowspec

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Tue Sep 4 16:28:19 UTC 2018


pulkit created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This patch improves the error message and uses util.readfile() for reading
  narrowspecs file while cloning.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4462

AFFECTED FILES
  hgext/narrow/narrowcommands.py

CHANGE DETAILS

diff --git a/hgext/narrow/narrowcommands.py b/hgext/narrow/narrowcommands.py
--- a/hgext/narrow/narrowcommands.py
+++ b/hgext/narrow/narrowcommands.py
@@ -84,11 +84,12 @@
         filepath = os.path.join(pycompat.getcwd(), narrowspecfile)
         ui.status(_("reading narrowspec from '%s'\n") % filepath)
         try:
-            fp = open(filepath, 'rb')
-        except IOError:
-            raise error.Abort(_("file '%s' not found") % filepath)
+            fdata = util.readfile(filepath)
+        except IOError as inst:
+            raise error.Abort(_("cannot read narrowspecs from '%s': %s") %
+                              (filepath, encoding.strtolocal(inst.strerror)))
 
-        includes, excludes, profiles = sparse.parseconfig(ui, fp.read(),
+        includes, excludes, profiles = sparse.parseconfig(ui, fdata,
                                                           'narrow')
         if profiles:
             raise error.Abort(_("cannot specify other files using '%include' in"



To: pulkit, durin42, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list