[Bug 3635] New: Dirstate of large files does not have timestamp/size after clonning

bugzilla-daemon at bz.selenic.com bugzilla-daemon at bz.selenic.com
Fri Sep 21 06:58:48 CDT 2012


http://bz.selenic.com/show_bug.cgi?id=3635

          Priority: normal
            Bug ID: 3635
                CC: mercurial-devel at selenic.com, natosha at gmail.com
          Assignee: bugzilla at selenic.com
           Summary: Dirstate of large files does not have timestamp/size
                    after clonning
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: mocksoul at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: unspecified
         Component: largefiles
           Product: Mercurial

I have repos with large file in:

mocksoul at mocksoul-notebook ~/tmp/svngit % cat some/.hglf/tf
b8a8e513aa7a574652d36adb2abe2dfef851f994

hg status in that repository is fats enough, coz files not changed:

mocksoul at mocksoul-notebook ~/tmp/svngit/some % time hg st
hg st  0.14s user 0.02s system 95% cpu 0.169 total

then, I'm trying to clone repos:

mocksoul at mocksoul-notebook ~/tmp/svngit % time hg clone some sometest
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
1 largefiles updated, 0 removed
hg clone some sometest  0.96s user 0.12s system 22% cpu 4.814 total

And in that fresh cloned repository hg st runs >2 seconds every time:

mocksoul at mocksoul-notebook ~/tmp/svngit/sometest % time hg st
hg st  1.93s user 0.22s system 98% cpu 2.176 total

This does no happen anymore after first 'hg commit' call.

Fast analysis show that dirstate in newly cloned repos is empty:


mocksoul at mocksoul-notebook ~/tmp/svngit/sometest % hexdump
.hg/largefiles/dirstate
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000020 0000 0000 0000 0000 006e 0000 ff00 ffff
0000030 ffff ffff 00ff 0000 7402 0066          
000003b

after first commit it will with size/mtime of largefile and everythings work
fine.

Also I dont unredstand why clonning took 4 seconds. Did tried fast strace of
clonning procedure -- my largefile is copied, while I was hoping it will
utilize hardlinks for that (both repos and ~/.cache/largefiles are in same
filesystem).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list