Patchwork [13,of,13] largefiles: don't hash all largefiles when initializing a lfdirstate

login
register
mail settings
Submitter Mads Kiilerich
Date April 16, 2013, 2:43 a.m.
Message ID <df6735f5a539ad0d04c7.1366080210@mk-desktop>
Download mbox | patch
Permalink /patch/1342/
State Accepted
Commit e071d161b266d785ba65fda937e6bc735b150244
Headers show

Comments

Mads Kiilerich - April 16, 2013, 2:43 a.m.
# HG changeset patch
# User Mads Kiilerich <madski@unity3d.com>
# Date 1366061516 -7200
#      Mon Apr 15 23:31:56 2013 +0200
# Node ID df6735f5a539ad0d04c79422aaa3d1519bffee4f
# Parent  ec0eedc2dd147693b0e7f1560dfaa46ded744761
largefiles: don't hash all largefiles when initializing a lfdirstate

The largefiles will be hashed on demand if necessary ... and sometimes it isn't
necessary.
Matt Mackall - April 17, 2013, 12:23 a.m.
On Tue, 2013-04-16 at 04:43 +0200, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <madski@unity3d.com>
> # Date 1366061516 -7200
> #      Mon Apr 15 23:31:56 2013 +0200
> # Node ID df6735f5a539ad0d04c79422aaa3d1519bffee4f
> # Parent  ec0eedc2dd147693b0e7f1560dfaa46ded744761
> largefiles: don't hash all largefiles when initializing a lfdirstate

Very nice, queued for default.

Patch

diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -9,7 +9,6 @@ 
 '''largefiles utility code: must not import other modules in this package.'''
 
 import os
-import errno
 import platform
 import shutil
 import stat
@@ -127,14 +126,7 @@ 
         matcher = getstandinmatcher(repo)
         for standin in repo.dirstate.walk(matcher, [], False, False):
             lfile = splitstandin(standin)
-            hash = readstandin(repo, lfile)
             lfdirstate.normallookup(lfile)
-            try:
-                if hash == hashfile(repo.wjoin(lfile)):
-                    lfdirstate.normal(lfile)
-            except OSError, err:
-                if err.errno != errno.ENOENT:
-                    raise
     return lfdirstate
 
 def lfdirstatestatus(lfdirstate, repo, rev):