|
From: | Patrick Georgi |
Subject: | Re: [Monotone-devel] Roster handling in the code |
Date: | Tue, 18 Aug 2009 15:19:13 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.1) Gecko/20090715 Thunderbird/3.0b3 |
Am 25.07.2009 10:46, schrieb Nathaniel Smith:
I tried these (and more) and failed to find my way around the code base to fix this. That's probably due to my lack of c++ experience (both language and best practices), but well.. I'll have to give up, also because this exceeded the time I could allocate to this issue. Just wanted to note that this issue is unclaimed again.Yeah, that'd probably work -- loop over the cset, convert the paths into node_id's, then just loop over those. The trick is making sure you look up all the correct paths in the correct rosters so you never miss any modified nodes -- this will take some groveling over the exact definitions of the various cset operations and probably some additions to the Giant Roster Tests to make sure the results are the same with/without the optimization. The other way would be to teach the roster+cset -> new roster code to keep a list of dirtied nodes, but that might be tricky for merges, I forget.
The auroraux project is ran into this issue, so if someone here wants to spend some time, and has more experience with the codebase, and wants to help a project with 50k files in the tree, this would be a good opportunity. It also seems to be a smaller issue than policy branches ;-)
Regards, Patrick
[Prev in Thread] | Current Thread | [Next in Thread] |