Merge with stable
authorMatt Mackall <mpm@selenic.com>
Thu, 22 Jul 2010 08:24:56 -0500
changeset 11651 817258259bc9
parent 11648 801533a52799 (current diff)
parent 11650 ebaf117c2642 (diff)
child 11652 08a269d9c4ca
Merge with stable
--- a/mercurial/hgweb/hgwebdir_mod.py	Thu Jul 22 14:34:37 2010 +0200
+++ b/mercurial/hgweb/hgwebdir_mod.py	Thu Jul 22 08:24:56 2010 -0500
@@ -86,6 +86,7 @@
         encoding.encoding = self.ui.config('web', 'encoding',
                                            encoding.encoding)
         self.style = self.ui.config('web', 'style', 'paper')
+        self.templatepath = self.ui.config('web', 'templates', None)
         self.stripecount = self.ui.config('web', 'stripes', 1)
         if self.stripecount:
             self.stripecount = int(self.stripecount)
@@ -315,7 +316,7 @@
             config('web', 'style'),
             'paper'
         )
-        style, mapfile = templater.stylemap(styles)
+        style, mapfile = templater.stylemap(styles, self.templatepath)
         if style == styles[0]:
             vars['style'] = style
 
--- a/mercurial/revset.py	Thu Jul 22 14:34:37 2010 +0200
+++ b/mercurial/revset.py	Thu Jul 22 08:24:56 2010 -0500
@@ -223,11 +223,14 @@
 
 def ancestor(repo, subset, x):
     l = getargs(x, 2, 2, _("ancestor wants two arguments"))
-    a = getset(repo, subset, l[0])
-    b = getset(repo, subset, l[1])
-    if len(a) > 1 or len(b) > 1:
+    r = range(len(repo))
+    a = getset(repo, r, l[0])
+    b = getset(repo, r, l[1])
+    if len(a) != 1 or len(b) != 1:
         raise error.ParseError(_("ancestor arguments must be single revisions"))
-    return [repo[a[0]].ancestor(repo[b[0]]).rev()]
+    an = [repo[a[0]].ancestor(repo[b[0]]).rev()]
+
+    return [r for r in an if r in subset]
 
 def ancestors(repo, subset, x):
     args = getset(repo, range(len(repo)), x)
--- a/tests/test-revset	Thu Jul 22 14:34:37 2010 +0200
+++ b/tests/test-revset	Thu Jul 22 08:24:56 2010 -0500
@@ -94,6 +94,7 @@
 
 log 'ancestor(1)'
 log 'ancestor(4,5)'
+log 'ancestor(4,5) and 4'
 log 'ancestors(5)'
 log 'author(bob)'
 log 'branch(é)'
--- a/tests/test-revset.out	Thu Jul 22 14:34:37 2010 +0200
+++ b/tests/test-revset.out	Thu Jul 22 08:24:56 2010 -0500
@@ -93,6 +93,7 @@
 hg: parse error: ancestor wants two arguments
 % log 'ancestor(4,5)'
 1
+% log 'ancestor(4,5) and 4'
 % log 'ancestors(5)'
 0
 1