merge with stable
authorMartin Geisler <mg@aragost.com>
Wed, 05 Jan 2011 15:56:03 +0100
changeset 13234 0935ff767285
parent 13229 f3058dd05281 (current diff)
parent 13233 0b30e6148ec5 (diff)
child 13235 6bf39d88c857
merge with stable
doc/hgrc.5.txt
mercurial/commands.py
mercurial/dirstate.py
mercurial/hg.py
mercurial/url.py
--- a/doc/hgrc.5.txt	Fri Dec 31 17:09:38 2010 -0600
+++ b/doc/hgrc.5.txt	Wed Jan 05 15:56:03 2011 +0100
@@ -991,10 +991,11 @@
     third-party tools like email notification hooks can construct
     URLs. Example: ``http://hgserver/repos/``.
 ``cacerts``
-    Path to file containing a list of PEM encoded certificate authority
-    certificates. If specified on the client, then it will verify the identity
-    of remote HTTPS servers with these certificates. The form must be
-    as follows::
+    Path to file containing a list of PEM encoded certificate
+    authority certificates. Environment variables and ``~user``
+    constructs are expanded in the filename. If specified on the
+    client, then it will verify the identity of remote HTTPS servers
+    with these certificates. The form must be as follows::
 
         -----BEGIN CERTIFICATE-----
         ... (certificate in base64 PEM encoding) ...
--- a/mercurial/commands.py	Fri Dec 31 17:09:38 2010 -0600
+++ b/mercurial/commands.py	Wed Jan 05 15:56:03 2011 +0100
@@ -1880,7 +1880,7 @@
                 msg = _('use "hg help" for the full list of commands '
                         'or "hg -v" for details')
             elif aliases:
-                msg = _('use "hg -v help%s" to show aliases and '
+                msg = _('use "hg -v help%s" to show builtin aliases and '
                         'global options') % (name and " " + name or "")
             else:
                 msg = _('use "hg -v help %s" to show global options') % name
--- a/mercurial/dirstate.py	Fri Dec 31 17:09:38 2010 -0600
+++ b/mercurial/dirstate.py	Wed Jan 05 15:56:03 2011 +0100
@@ -505,7 +505,7 @@
         i, j = 0, 0
         while i < len(files) and j < len(subrepos):
             subpath = subrepos[j] + "/"
-            if not files[i].startswith(subpath):
+            if files[i] < subpath:
                 i += 1
                 continue
             while files and files[i].startswith(subpath):
--- a/mercurial/hg.py	Fri Dec 31 17:09:38 2010 -0600
+++ b/mercurial/hg.py	Wed Jan 05 15:56:03 2011 +0100
@@ -549,6 +549,6 @@
             dst.setconfig(sect, key, val)
     v = src.config('web', 'cacerts')
     if v:
-        dst.setconfig('web', 'cacerts', v)
+        dst.setconfig('web', 'cacerts', util.expandpath(v))
 
     return dst
--- a/mercurial/url.py	Fri Dec 31 17:09:38 2010 -0600
+++ b/mercurial/url.py	Wed Jan 05 15:56:03 2011 +0100
@@ -530,6 +530,8 @@
         def connect(self):
             if hasattr(self, 'ui'):
                 cacerts = self.ui.config('web', 'cacerts')
+                if cacerts:
+                    cacerts = util.expandpath(cacerts)
             else:
                 cacerts = None
 
--- a/tests/test-globalopts.t	Fri Dec 31 17:09:38 2010 -0600
+++ b/tests/test-globalopts.t	Wed Jan 05 15:56:03 2011 +0100
@@ -347,7 +347,7 @@
    hgweb        Configuring hgweb
    glossary     Glossary
   
-  use "hg -v help" to show aliases and global options
+  use "hg -v help" to show builtin aliases and global options
 
   $ hg --help
   Mercurial Distributed SCM
@@ -423,7 +423,7 @@
    hgweb        Configuring hgweb
    glossary     Glossary
   
-  use "hg -v help" to show aliases and global options
+  use "hg -v help" to show builtin aliases and global options
 
 Not tested: --debugger
 
--- a/tests/test-help.t	Fri Dec 31 17:09:38 2010 -0600
+++ b/tests/test-help.t	Wed Jan 05 15:56:03 2011 +0100
@@ -118,7 +118,7 @@
    hgweb        Configuring hgweb
    glossary     Glossary
   
-  use "hg -v help" to show aliases and global options
+  use "hg -v help" to show builtin aliases and global options
 
   $ hg -q help
    add          add the specified files on the next commit
@@ -416,7 +416,7 @@
    add         add the specified files on the next commit
    addremove   add all new files, delete all missing files
   
-  use "hg -v help ad" to show aliases and global options
+  use "hg -v help ad" to show builtin aliases and global options
 
 Test command without options
 
@@ -716,7 +716,7 @@
    hgweb        Configuring hgweb
    glossary     Glossary
   
-  use "hg -v help" to show aliases and global options
+  use "hg -v help" to show builtin aliases and global options
 
 Test list of commands with command with no help text
 
@@ -727,7 +727,7 @@
   
    nohelp   (no help text available)
   
-  use "hg -v help helpext" to show aliases and global options
+  use "hg -v help helpext" to show builtin aliases and global options
 
 Test a help topic
 
--- a/tests/test-https.t	Fri Dec 31 17:09:38 2010 -0600
+++ b/tests/test-https.t	Wed Jan 05 15:56:03 2011 +0100
@@ -154,11 +154,12 @@
   no changes found
   $ mv copy-pull/.hg/hgrc.bu copy-pull/.hg/hgrc
 
-cacert configured globally
+cacert configured globally, also testing expansion of environment
+variables in the filename
 
   $ echo "[web]" >> $HGRCPATH
-  $ echo "cacerts=`pwd`/pub.pem" >> $HGRCPATH
-  $ hg -R copy-pull pull
+  $ echo 'cacerts=$P/pub.pem' >> $HGRCPATH
+  $ P=`pwd` hg -R copy-pull pull
   pulling from https://localhost:$HGPORT/
   searching for changes
   no changes found
--- a/tests/test-mq.t	Fri Dec 31 17:09:38 2010 -0600
+++ b/tests/test-mq.t	Wed Jan 05 15:56:03 2011 +0100
@@ -77,7 +77,7 @@
    qunapplied   print the patches not yet applied
    strip        strip changesets and all their descendants from the repository
   
-  use "hg -v help mq" to show aliases and global options
+  use "hg -v help mq" to show builtin aliases and global options
 
   $ hg init a
   $ cd a
--- a/tests/test-subrepo.t	Fri Dec 31 17:09:38 2010 -0600
+++ b/tests/test-subrepo.t	Wed Jan 05 15:56:03 2011 +0100
@@ -656,3 +656,22 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
+
+Check status of files when none of them belong to the first
+subrepository:
+
+  $ hg init subrepo-status
+  $ cd subrepo-status
+  $ hg init subrepo-1
+  $ hg init subrepo-2
+  $ cd subrepo-2
+  $ touch file
+  $ hg add file
+  $ cd ..
+  $ echo subrepo-1 = subrepo-1 > .hgsub
+  $ echo subrepo-2 = subrepo-2 >> .hgsub
+  $ hg add .hgsub
+  $ hg ci -m 'Added subrepos'
+  committing subrepository subrepo-1
+  committing subrepository subrepo-2
+  $ hg st subrepo-2/file