[PATCH 05 of 13] largefiles: lfdirstate is only for .hglf - don't ignore anything

Mads Kiilerich kiilerix at gmail.com
Fri Dec 21 13:06:54 CST 2012


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1355422746 -3600
# Node ID a4059f8dc405ceb2c857d17991240f01b51d0e85
# Parent  7c9a8444bbadca62e1e4f287795fcfc2b6f52189
largefiles: lfdirstate is only for .hglf - don't ignore anything

diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -135,6 +135,8 @@
         return super(largefilesdirstate, self).forget(unixpath(f))
     def normallookup(self, f):
         return super(largefilesdirstate, self).normallookup(unixpath(f))
+    def _ignore(self):
+        return False
 
 def openlfdirstate(ui, repo, create=True):
     '''
diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py
--- a/hgext/largefiles/reposetup.py
+++ b/hgext/largefiles/reposetup.py
@@ -157,14 +157,6 @@
                             newfiles.append(f)
                     return newfiles
 
-                # Create a function that we can use to override what is
-                # normally the ignore matcher.  We've already checked
-                # for ignored files on the first dirstate walk, and
-                # unnecessarily re-checking here causes a huge performance
-                # hit because lfdirstate only knows about largefiles
-                def _ignoreoverride(self):
-                    return False
-
                 m = copy.copy(match)
                 m._files = tostandins(m._files)
 
@@ -172,14 +164,6 @@
                     ignored, clean, unknown, listsubrepos)
                 if working:
                     try:
-                        # Any non-largefiles that were explicitly listed must be
-                        # taken out or lfdirstate.status will report an error.
-                        # The status of these files was already computed using
-                        # super's status.
-                        # Override lfdirstate's ignore matcher to not do
-                        # anything
-                        origignore = lfdirstate._ignore
-                        lfdirstate._ignore = _ignoreoverride
 
                         def sfindirstate(f):
                             sf = lfutil.standin(f)
@@ -220,8 +204,7 @@
                                 else:
                                     added.append(lfile)
                     finally:
-                        # Replace the original ignore function
-                        lfdirstate._ignore = origignore
+                        pass
 
                     # Standins no longer found in lfdirstate has been removed
                     for standin in ctx1.manifest():


More information about the Mercurial-devel mailing list