I've been trying to extract "the master plan about bundles" from the TortoiseHg code, but it seems the code goes in slightly different directions, and is in any case not finished. I am mainly concerned about three things:
1. Improving the quite poor performance 2. Making possible bundle:foo+bar URLs from the command line 3. Removing the filtering which disallows clicking on any non-incoming changesets As for 1, the main problem stems from thg calling branchmap() on the bundlerepo, which writes a new branch cache to disk, forcing an expensive recreate later. I've posted a patch to Mercurial to prevent bundlerepo from writing back the cache. As for 3, I don't have time to look at it for the time being. As for 2, like I mentioned I am not sure what the plan in the current code is, but the parts that ARE in work as follows: a. -R's with bundle:foo+bar get split into foo, and an extra argument 'bundle' gets set to bar. b. This extra argument is subsequently not used anywhere. c. At the same time, thgrepo and a few other places have a bundle argument, which is currently used for the button-activated bundle feature. So here's MY plan, then: x. Remove the special case instantiation of bundlerepository from thgrepo. This is done in the present patch. Special casing prevents the bundlerepository from being wrapped in mq repo and other extensions. This may be on purpose, of course, in which case the patch shouldn't be pushed. y. Carry the bundle argument (extracted from bundle:-urls) into a call to setBundle right after creating the repowidget. I have written a proof of concept for this. y.alternative. Don't separate the bundle:-urls, but just create the repo object directly. Then, later, detect that it's a bundle repo, and set the bundle without having to recreate a new repo instance. This is faster, but the detection code is not too pretty since there is no official way to do this. I have written a proof of concept for this. Note that for y.alternative to work, the present patch is absolutely needed. For y, it's independent. Discussion welcome :) -Sune ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop