##// END OF EJS Templates
dirstate: make sure the dirstate is loaded before the changelog (issue6303)...
marmoute -
r45359:35b255e4 stable
parent child Browse files
Show More
@@ -103,6 +103,13 b' class dirstate(object):'
103 # raises an exception).
103 # raises an exception).
104 self._cwd
104 self._cwd
105
105
106 def prefetch_parents(self):
107 """make sure the parents are loaded
108
109 Used to avoid a race condition.
110 """
111 self._pl
112
106 @contextlib.contextmanager
113 @contextlib.contextmanager
107 def parentchange(self):
114 def parentchange(self):
108 '''Context manager for handling dirstate parents.
115 '''Context manager for handling dirstate parents.
@@ -1450,6 +1450,8 b' class localrepository(object):'
1450
1450
1451 @storecache(b'00changelog.i')
1451 @storecache(b'00changelog.i')
1452 def changelog(self):
1452 def changelog(self):
1453 # load dirstate before changelog to avoid race see issue6303
1454 self.dirstate.prefetch_parents()
1453 return self.store.changelog(txnutil.mayhavepending(self.root))
1455 return self.store.changelog(txnutil.mayhavepending(self.root))
1454
1456
1455 @storecache(b'00manifest.i')
1457 @storecache(b'00manifest.i')
@@ -233,6 +233,7 b' List of files accessed over HTTP:'
233 /.hg/cache/hgtagsfnodes1
233 /.hg/cache/hgtagsfnodes1
234 /.hg/cache/rbc-names-v1
234 /.hg/cache/rbc-names-v1
235 /.hg/cache/rbc-revs-v1
235 /.hg/cache/rbc-revs-v1
236 /.hg/dirstate
236 /.hg/requires
237 /.hg/requires
237 /.hg/store/00changelog.i
238 /.hg/store/00changelog.i
238 /.hg/store/00manifest.i
239 /.hg/store/00manifest.i
@@ -250,6 +251,7 b' List of files accessed over HTTP:'
250 /remote-with-names/.hg/cache/rbc-names-v1
251 /remote-with-names/.hg/cache/rbc-names-v1
251 /remote-with-names/.hg/cache/rbc-revs-v1
252 /remote-with-names/.hg/cache/rbc-revs-v1
252 /remote-with-names/.hg/cache/tags2-served
253 /remote-with-names/.hg/cache/tags2-served
254 /remote-with-names/.hg/dirstate
253 /remote-with-names/.hg/localtags
255 /remote-with-names/.hg/localtags
254 /remote-with-names/.hg/requires
256 /remote-with-names/.hg/requires
255 /remote-with-names/.hg/store/00changelog.i
257 /remote-with-names/.hg/store/00changelog.i
@@ -266,6 +268,7 b' List of files accessed over HTTP:'
266 /remote/.hg/cache/rbc-names-v1
268 /remote/.hg/cache/rbc-names-v1
267 /remote/.hg/cache/rbc-revs-v1
269 /remote/.hg/cache/rbc-revs-v1
268 /remote/.hg/cache/tags2-served
270 /remote/.hg/cache/tags2-served
271 /remote/.hg/dirstate
269 /remote/.hg/localtags
272 /remote/.hg/localtags
270 /remote/.hg/requires
273 /remote/.hg/requires
271 /remote/.hg/store/00changelog.i
274 /remote/.hg/store/00changelog.i
@@ -278,6 +281,7 b' List of files accessed over HTTP:'
278 /remote/.hg/store/data/~2ehgtags.i (py37 !)
281 /remote/.hg/store/data/~2ehgtags.i (py37 !)
279 /remotempty/.hg/bookmarks
282 /remotempty/.hg/bookmarks
280 /remotempty/.hg/bookmarks.current
283 /remotempty/.hg/bookmarks.current
284 /remotempty/.hg/dirstate
281 /remotempty/.hg/requires
285 /remotempty/.hg/requires
282 /remotempty/.hg/store/00changelog.i
286 /remotempty/.hg/store/00changelog.i
283 /remotempty/.hg/store/00manifest.i
287 /remotempty/.hg/store/00manifest.i
@@ -286,6 +290,7 b' List of files accessed over HTTP:'
286 /sub/.hg/cache/hgtagsfnodes1
290 /sub/.hg/cache/hgtagsfnodes1
287 /sub/.hg/cache/rbc-names-v1
291 /sub/.hg/cache/rbc-names-v1
288 /sub/.hg/cache/rbc-revs-v1
292 /sub/.hg/cache/rbc-revs-v1
293 /sub/.hg/dirstate
289 /sub/.hg/requires
294 /sub/.hg/requires
290 /sub/.hg/store/00changelog.i
295 /sub/.hg/store/00changelog.i
291 /sub/.hg/store/00manifest.i
296 /sub/.hg/store/00manifest.i
General Comments 0
You need to be logged in to leave comments. Login now