Mon, 20 Apr 2015 17:16:22 +0200 changelog: fix readpending if no pending data exist (issue4609) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 17:16:22 +0200] rev 24822
changelog: fix readpending if no pending data exist (issue4609) Since transaction are used for more than just changesets, it is possible to have a transaction without new changesets at all. In this case no ''00changelog.i.a' are written. In all cases the 'changelog.readpending' method is called if the repository has any pending data. The 'revlog' logic provides empty content if the file is missing, so the whole operation resulted in an empty changelog. We now skip reading the pending file if it is missing.
Mon, 20 Apr 2015 15:27:55 +0200 afterlock: add the callback to the top level lock (issue4608) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 15:27:55 +0200] rev 24821
afterlock: add the callback to the top level lock (issue4608) If 'wlock' is taken, we should add 'afterlock' callback to the 'wlock' instead. Otherwise, running post transaction hook after 'lock' is release but 'wlock' is still taken lead to a deadlock (eg: 'hg update' during a hook). This situation is much more common since: 5dc5cd7abbf5 push: acquire local 'wlock' if "pushback" is expected (BC) (issue4596)
Mon, 20 Apr 2015 16:05:32 +0200 debuglock: access the lock file using the proper vfs stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 16:05:32 +0200] rev 24820
debuglock: access the lock file using the proper vfs Before this fix, 'wlock' was always reported as "free" because '.hg/store/wlock' have never been a thing.
Sun, 19 Apr 2015 21:43:53 -0700 status: pass matcher to pathcopies() stable
Martin von Zweigbergk <martinvonz@google.com> [Sun, 19 Apr 2015 21:43:53 -0700] rev 24819
status: pass matcher to pathcopies() Just like a7f8e3584ef3 (diff: pass the diff matcher to the copy logic, 2015-04-16) sped up 'hg diff --git $path', let's speed up 'hg st -C $path'. On the Firefox repo, this speeds up hg st --rev tip~40000 --rev tip -C python from 16s to 1.8s. Those two revisions differ in 100k files, out of which 1k is in python/.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip