[Updated] D11800: largefile: use the proper "mtime boundary" logic during fixup

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Wed Dec 1 15:25:29 UTC 2021


Closed by commit rHGa96a5d62141b: largefile: use the proper "mtime boundary" logic during fixup (authored by marmoute).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D11800?vs=31233&id=31262

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D11800/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D11800

AFFECTED FILES
  hgext/largefiles/lfutil.py
  hgext/largefiles/reposetup.py

CHANGE DETAILS

diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py
--- a/hgext/largefiles/reposetup.py
+++ b/hgext/largefiles/reposetup.py
@@ -228,13 +228,12 @@
                                 s = wctx[lfile].lstat()
                                 mode = s.st_mode
                                 size = s.st_size
-                                mtime = timestamp.mtime_of(s)
-                                cache_data = (mode, size, mtime)
-                                # We should consider using the mtime_boundary
-                                # logic here, but largefile never actually had
-                                # ambiguity protection before, so this confuse
-                                # the tests and need more thinking.
-                                lfdirstate.set_clean(lfile, cache_data)
+                                mtime = timestamp.reliable_mtime_of(
+                                    s, mtime_boundary
+                                )
+                                if mtime is not None:
+                                    cache_data = (mode, size, mtime)
+                                    lfdirstate.set_clean(lfile, cache_data)
                     else:
                         tocheck = unsure + modified + added + clean
                         modified, added, clean = [], [], []
diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -261,13 +261,10 @@
             st = wctx[lfile].lstat()
             mode = st.st_mode
             size = st.st_size
-            mtime = timestamp.mtime_of(st)
-            cache_data = (mode, size, mtime)
-            # We should consider using the mtime_boundary
-            # logic here, but largefile never actually had
-            # ambiguity protection before, so this confuse
-            # the tests and need more thinking.
-            lfdirstate.set_clean(lfile, cache_data)
+            mtime = timestamp.reliable_mtime_of(st, mtime_boundary)
+            if mtime is not None:
+                cache_data = (mode, size, mtime)
+                lfdirstate.set_clean(lfile, cache_data)
     return s
 
 



To: marmoute, #hg-reviewers, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20211201/0e5e257f/attachment.html>


More information about the Mercurial-patches mailing list