# HG changeset patch # User Martin Geisler # Date 1336307802 -7200 # Node ID 61e31cab7d9332868bee10094a101ca729e72a57 # Parent 20cde586ae5aa776b632be47dd9db6ee66063e2f# Parent ebd2ead59f1ce1823728230f7cf12fc7a5990c04 merge with stable diff -r 20cde586ae5a -r 61e31cab7d93 hgext/largefiles/reposetup.py --- 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 diff -r 20cde586ae5a -r 61e31cab7d93 mercurial/help/config.txt --- 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 ------ diff -r 20cde586ae5a -r 61e31cab7d93 tests/test-largefiles.t --- 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