##// END OF EJS Templates
dirstate: stop gathering parentfiledata in update_file...
marmoute -
r49210:f838f5bc default
parent child Browse files
Show More
@@ -573,13 +573,6 b' class dirstate(object):'
573
573
574 self._dirty = True
574 self._dirty = True
575
575
576 need_parent_file_data = (
577 not possibly_dirty and not p2_info and wc_tracked and p1_tracked
578 )
579
580 if need_parent_file_data and parentfiledata is None:
581 parentfiledata = self._get_filedata(filename)
582
583 self._map.reset_state(
576 self._map.reset_state(
584 filename,
577 filename,
585 wc_tracked,
578 wc_tracked,
@@ -173,8 +173,7 b' transaction: in-memory dirstate changes '
173 C c
173 C c
174 $ hg debugstate --no-dates
174 $ hg debugstate --no-dates
175 n 644 12 set c (no-rhg !)
175 n 644 12 set c (no-rhg !)
176 n 644 12 unset c (?)
176 n 0 -1 unset c (rhg known-bad-output !)
177 n 644 12 set c (?)
178 $ hg backout -d '6 0' -m 'to be rollback-ed soon' -r .
177 $ hg backout -d '6 0' -m 'to be rollback-ed soon' -r .
179 removing c
178 removing c
180 adding b
179 adding b
@@ -9,6 +9,9 b''
9 > EOF
9 > EOF
10 #endif
10 #endif
11
11
12 TODO: fix rhg bugs that make this test fail when status is enabled
13 $ unset RHG_STATUS
14
12 Checking the size/permissions/file-type of files stored in the
15 Checking the size/permissions/file-type of files stored in the
13 dirstate after an update where the files are changed concurrently
16 dirstate after an update where the files are changed concurrently
14 outside of hg's control.
17 outside of hg's control.
@@ -68,20 +68,39 b' Wait to make sure we get a tick so the m'
68 A linear merge will update standins before performing the actual merge. It will
68 A linear merge will update standins before performing the actual merge. It will
69 do a lfdirstate status walk and find 'unset'/'unsure' files, hash them, and
69 do a lfdirstate status walk and find 'unset'/'unsure' files, hash them, and
70 update the corresponding standins.
70 update the corresponding standins.
71
71 Verify that it actually marks the clean files as clean in lfdirstate so
72 Verify that it actually marks the clean files as clean in lfdirstate so
72 we don't have to hash them again next time we update.
73 we don't have to hash them again next time we update.
73
74
75 # note:
76 # We do this less agressively now, to avoid race condition, however the
77 # cache
78 # is properly set after the next status
79 #
80 # The "changed" output is marked as missing-correct-output/known-bad-output
81 # for clarify
82
74 $ hg up
83 $ hg up
75 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
84 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
76 updated to "f74e50bd9e55: #2"
85 updated to "f74e50bd9e55: #2"
77 1 other heads for branch "default"
86 1 other heads for branch "default"
78 $ hg debugdirstate --large --nodate
87 $ hg debugdirstate --large --nodate
88 n 644 7 set large1 (missing-correct-output !)
89 n 644 13 set large2 (missing-correct-output !)
90 n 0 -1 unset large1 (known-bad-output !)
91 n 0 -1 unset large2 (known-bad-output !)
92 $ sleep 1 # so that mtime are not ambiguous
93 $ hg status
94 $ hg debugdirstate --large --nodate
79 n 644 7 set large1
95 n 644 7 set large1
80 n 644 13 set large2
96 n 644 13 set large2
81
97
82 Test that lfdirstate keeps track of last modification of largefiles and
98 Test that lfdirstate keeps track of last modification of largefiles and
83 prevents unnecessary hashing of content - also after linear/noop update
99 prevents unnecessary hashing of content - also after linear/noop update
84
100
101 (XXX Since there is a possible race during update, we only do this after the next
102 status call, this is slower, but more correct)
103
85 $ sleep 1
104 $ sleep 1
86 $ hg st
105 $ hg st
87 $ hg debugdirstate --large --nodate
106 $ hg debugdirstate --large --nodate
@@ -92,6 +111,13 b' prevents unnecessary hashing of content '
92 updated to "f74e50bd9e55: #2"
111 updated to "f74e50bd9e55: #2"
93 1 other heads for branch "default"
112 1 other heads for branch "default"
94 $ hg debugdirstate --large --nodate
113 $ hg debugdirstate --large --nodate
114 n 644 7 set large1 (missing-correct-output !)
115 n 644 13 set large2 (missing-correct-output !)
116 n 0 -1 unset large1 (known-bad-output !)
117 n 0 -1 unset large2 (known-bad-output !)
118 $ sleep 1 # so that mtime are not ambiguous
119 $ hg status
120 $ hg debugdirstate --large --nodate
95 n 644 7 set large1
121 n 644 7 set large1
96 n 644 13 set large2
122 n 644 13 set large2
97
123
@@ -1063,7 +1063,7 b" timestamp of them isn't changed on the f"
1063 $ cat r1
1063 $ cat r1
1064 Y1
1064 Y1
1065 $ hg debugstate | grep ' r1$'
1065 $ hg debugstate | grep ' r1$'
1066 n 644 3 unset r1
1066 n 0 -1 unset r1
1067 $ hg status -A r1
1067 $ hg status -A r1
1068 M r1
1068 M r1
1069
1069
General Comments 0
You need to be logged in to leave comments. Login now