Mon, 25 Jul 2011 15:08:57 +0300 localrepo: unify tag related info into a tagscache class
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:57 +0300] rev 14936
localrepo: unify tag related info into a tagscache class
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: make invalidate() walk _filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14935
localrepo: make invalidate() walk _filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate manifest() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14934
localrepo: decorate manifest() with filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate _bookmarks/current with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14933
localrepo: decorate _bookmarks/current with filecache nodebookmarks() can be cached as well, leaving for later
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate changelog() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14932
localrepo: decorate changelog() with filecache
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: refresh filecache entries after releasing a repo.lock()
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14931
localrepo: refresh filecache entries after releasing a repo.lock()
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: decorate dirstate() with filecache
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14930
localrepo: decorate dirstate() with filecache We refresh the stat info when releasing repo.wlock(), right after writing it. Also, invalidate the dirstate by deleting its attribute. This will force a stat by the decorator that actually checks if anything changed, rather than reading it again every time. Note that prior to this, there was a single dirstate instance created for a localrepo. It was invalidated by calling dirstate.invalidated(), clearing its internal attributes. As a consequence, the following construct is no longer safe: ds = repo.dirstate # keep a reference to the repo's dirstate wlock = repo.wlock() try: ds.setparents(...) finally: wlock.release() # dirstate should be written here Since it's possible that the dirstate was modified between lines #1 and #2, therefore changes to the old dirstate won't get written when the lock releases, because a new instance was created by the decorator.
Mon, 25 Jul 2011 15:08:37 +0300 localrepo: add a cache with stat info for files under .hg/
Idan Kamara <idankk86@gmail.com> [Mon, 25 Jul 2011 15:08:37 +0300] rev 14929
localrepo: add a cache with stat info for files under .hg/
(0) -10000 -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip