# HG changeset patch # User Pulkit Goyal # Date 1536078410 -10800 # Node ID 4062bbb1d10f1d4af03d80a45b11728f0e31aad3 # Parent 3dd34b401bc2e4d98b3490936287a9ef007e4ea9 narrow: use util.readfile() and improve error message using --narrowspec This patch improves the error message and uses util.readfile() for reading narrowspecs file while cloning. Differential Revision: https://phab.mercurial-scm.org/D4462 diff -r 3dd34b401bc2 -r 4062bbb1d10f hgext/narrow/narrowcommands.py --- a/hgext/narrow/narrowcommands.py Tue Sep 04 15:55:23 2018 -0700 +++ b/hgext/narrow/narrowcommands.py Tue Sep 04 19:26:50 2018 +0300 @@ -84,12 +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(), - 'narrow') + includes, excludes, profiles = sparse.parseconfig(ui, fdata, 'narrow') if profiles: raise error.Abort(_("cannot specify other files using '%include' in" " narrowspec"))