On Mon, May 4, 2009 at 11:34 AM, Adrian Buehlmann <[email protected]> wrote: > On 04.05.2009 17:31, Steve Borho wrote: >> I'm pretty close to merging this work, I cloned Adrian's repository >> this weekend and took a look at it. >> >> The C++ work is still based on -stable, which will require a bit of >> fixup work, but that's not a big deal. I couldn't figure out from >> looking at the code how the new extensions are supposed to be >> registered or how they use the RPC server that's in the tortoise >> directory. > > I haven't looked into the details how this could be integrated with > current main development line of TortoiseHg, but as a side note, I'm > currently fairly happy with version 313005ffe01e of my repo [1] for the > overlays. > > My hackery is an experimental fork of TK's work, for which he provided > a how-to for developer installation here: > > http://www.mail-archive.com/[email protected]/msg03163.html > > After having compiled and linked the dll, I just started inno setup compiler > (version 5.2.2 here) and loaded the file tortoise/shellext/ThgShell.iss into > it and hit the run button to install the dll for development testing. > > Of course this requires the TortoiseOverlays package to be pre-installed, > as ThgShell.iss then registers the overlay handlers with > TortoiseOverlays (see registry.iss, HKLM\Software\TortoiseOverlays\Normal, > Added and Modified subkeys). > > I didn't care for the context menu at all yet, just noticed that they > seemed not yet to work entirely correctly (IIRC dialogs did either not > appear or things seemed somewhat broken) -- but the cmenu is there > and the context menu handler of THgShell.dll seems to work. I suppose > TK knows a whole lot more about that side of THgShell.dll.
Ah, I understand some of the confusion now. TK's initial testing used the existing (<=0.7) context menu handlers and the compiled-in ones do not use the RPC server at all. I would like to keep our python context menu code for 0.8, but the version on crew is tied our python overlay cache. So it seems there's a few non-trivial tasks remaining on the menu side. Unless I hear otherwise, my steps will be to: 1) Reproduce your results on my development box 2) Pull the changes into crew 3) Fix the compiled in menus to at least launch the main GUIs properly (commit, log, sync, settings) 4) Build an installer At this point, everyone else can try out the new overlays and we can hopefully get some good feedback. Then in stage two: 1) Borrow the RPC version of the menu server from tortoisebzr and hook it up to menuthg 2) Allow menuthg to work efficiently without the overlays seeding the cache 3) Build a 64bit version, fix any bugs it finds. 4) Build a 64bit installer At this point, there should be much rejoicing. Stage three: python setup.py py2exe -b1 (pristine install directory, goodbye issue #67) > I just used autoruns.exe from sysinternals to manually throw out the > original python based thg context menu handler registry entries during my > testing. > > Another useful tool is Dbgview.exe from sysinternals. It shows the > trace output sent from THgShell.dll (do "set DEBUG=1" before running > make). > > In my version of THgShell.dll, the RPC server -- as provided > by TK's work -- is not used. > >> Would it be possible for Adrian or TK to add a page to the crew wiki >> (or update the existing source install page) to describe how one is >> supposed to bootstrap this new code? And perhaps add a TODO list of >> features that you know are missing? > > I might be able to help to integrate, but currently do lack the > experience of having ever built the current thg installer myself. > > To be helpful in integrating my latest C++ hacking into main > tortoise (if this is wanted), I believe I should first try > understanding how to build the current Tortoise installer. > > What is the current procedure to build it? Is there some recipe I > could follow (apologies if I'm missing the obvious, I haven't > followed the mailing lists that closely during the last half year > or so). http://bitbucket.org/tortoisehg/crew/wiki/installer It has a lot of prerequisites, but is nearly turnkey once it's up and running. -- Steve Borho ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ Tortoisehg-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
