# HG changeset patch # User Bryan O'Sullivan # Date 1336903312 -7200 # Node ID dd4ce44ff53c7f86af17fb88305d1a6565a90620 # Parent 46c15dff3497a0d8e6603cf8920061237b87612b tags: short-circuit if no tags have ever been committed diff -r 46c15dff3497 -r dd4ce44ff53c mercurial/tags.py --- a/mercurial/tags.py Wed May 16 11:40:33 2012 -0500 +++ b/mercurial/tags.py Sun May 13 12:01:52 2012 +0200 @@ -228,6 +228,11 @@ # N.B. in case 4 (nodes destroyed), "new head" really means "newly # exposed". + if not len(repo.file('.hgtags')): + # No tags have ever been committed, so we can avoid a + # potentially expensive search. + return (repoheads, cachefnode, None, True) + newheads = [head for head in repoheads if head not in set(cacheheads)]