From patchwork Thu Jan 23 00:38:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [STABLE] templater: selecting a style with no templates does not crash (issue4140) From: Simon Heimberg X-Patchwork-Id: 3401 Message-Id: <7da0079b4722f76d29bf.1390437480@lapsi.heimberg.home> To: Mercurial-devel Date: Thu, 23 Jan 2014 01:38:00 +0100 # HG changeset patch # User Simon Heimberg # Date 1390436990 -3600 # Branch stable # Node ID 7da0079b4722f76d29bfd3295a5fc926d57a758d # Parent 47511b006e57dc5c50a361d40c35e1a03241a907 templater: selecting a style with no templates does not crash (issue4140) Running `hg log --style compact` (or any other style) raised a traceback when no template directory was there. Now there is a message: Abort: style 'compact' not found (available styles: no templates found, try `hg debuginstall` for more info) There is no test because this would require to rename the template directory. But this would influence other tests running in parallel. And when the test would be aborted the wrong named directory would remain, especially a problem when running with -l. diff -r 47511b006e57 -r 7da0079b4722 mercurial/templater.py --- a/mercurial/templater.py Don Jan 23 01:21:08 2014 +0100 +++ b/mercurial/templater.py Don Jan 23 01:29:50 2014 +0100 @@ -447,8 +447,10 @@ engines = {'default': engine} def stylelist(): - path = templatepath()[0] - dirlist = os.listdir(path) + paths = templatepath() + if not paths: + return _('no templates found, try `hg debuginstall` for more info') + dirlist = os.listdir(paths[0]) stylelist = [] for file in dirlist: split = file.split(".")