changeset 16587:61e31cab7d93

merge with stable
author Martin Geisler <mg@lazybytes.net>
date Sun, 06 May 2012 14:36:42 +0200
parents 20cde586ae5a (current diff) ebd2ead59f1c (diff)
children 72319bfd7966
files tests/test-largefiles.t
diffstat 3 files changed, 33 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/largefiles/reposetup.py	Fri May 04 19:19:28 2012 +0200
+++ b/hgext/largefiles/reposetup.py	Sun May 06 14:36:42 2012 +0200
@@ -136,13 +136,22 @@
 
                 # Create a copy of match that matches standins instead
                 # of largefiles.
-                def tostandin(file):
-                    if working:
-                        sf = lfutil.standin(file)
-                        dirstate = repo.dirstate
-                        if sf in dirstate or sf in dirstate.dirs():
-                            return sf
-                    return file
+                def tostandins(files):
+                    if not working:
+                        return files
+                    newfiles = []
+                    dirstate = repo.dirstate
+                    for f in files:
+                        sf = lfutil.standin(f)
+                        if sf in dirstate:
+                            newfiles.append(sf)
+                        elif sf in dirstate.dirs():
+                            # Directory entries could be regular or
+                            # standin, check both
+                            newfiles.extend((f, sf))
+                        else:
+                            newfiles.append(f)
+                    return newfiles
 
                 # Create a function that we can use to override what is
                 # normally the ignore matcher.  We've already checked
@@ -153,7 +162,7 @@
                     return False
 
                 m = copy.copy(match)
-                m._files = [tostandin(f) for f in m._files]
+                m._files = tostandins(m._files)
 
                 # Get ignored files here even if we weren't asked for them; we
                 # must use the result here for filtering later
--- a/mercurial/help/config.txt	Fri May 04 19:19:28 2012 +0200
+++ b/mercurial/help/config.txt	Sun May 06 14:36:42 2012 +0200
@@ -83,9 +83,7 @@
     keys contain PATH-like strings, every part of which must reference
     a ``Mercurial.ini`` file or be a directory where ``*.rc`` files will
     be read.  Mercurial checks each of these locations in the specified
-    order until one or more configuration files are detected.  If the
-    pywin32 extensions are not installed, Mercurial will only look for
-    site-wide configuration in ``C:\Mercurial\Mercurial.ini``.
+    order until one or more configuration files are detected.
 
 Syntax
 ------
--- a/tests/test-largefiles.t	Fri May 04 19:19:28 2012 +0200
+++ b/tests/test-largefiles.t	Sun May 06 14:36:42 2012 +0200
@@ -65,6 +65,21 @@
   $ cat sub/large2
   large22
 
+Test status, subdir and unknown files
+
+  $ echo unknown > sub/unknown
+  $ hg st --all
+  ? sub/unknown
+  C large1
+  C normal1
+  C sub/large2
+  C sub/normal2
+  $ hg st --all sub
+  ? sub/unknown
+  C sub/large2
+  C sub/normal2
+  $ rm sub/unknown
+
 Remove both largefiles and normal files.
  
   $ hg remove normal1 large1