torsdag 16 november 2023 kl. 14:47:03 UTC+1 skrev Stefan Sperling: On Wed, Nov 15, 2023 at 10:45:46AM -0800, Stefan via TortoiseSVN-dev wrote: > [image: Screenshot 2023-11-15 194517.png]
Thank you both, Daniel and Stefan. I see how this works now. TortoiseProc takes an argument which specifies a subcommand to run, which spawns a specific TSVN dialog, which can then be debugged. This wasn't clear from the description in debug hints. I wasn't sure what "createpatch" was referring to. I assumed it was something related to patching the real .dll file over the stub .dll, but this not the case. I can now step through the debugger during operations like "command:update". So that goal has been reached :) Next, I need to figure out an issue where the Explorer context menu takes a long time to appear after right-click on a working copy folder, but comes up instantly on other folders. Any hints where a suitable breakpoint location might be that would allow me to understand what the extra time is being spent on? In any case, I'll keep looking. Doh. Context menu is a pain. Is it the new one (Win 11) or the classic (Win 10 and below)? Is it consistent? I have a feeling the new context menu sometimes takes forever to load (this is not only TSVN but for all programs that add their own entry); after right click there is a "Loading..." text that is replaced by "Open in Terminal", "TortoiseSVN" etc. after some delay. Building support for the new context menu is a PITA. I assume you saw the section "digitally signing the binaries and installers". I don't have an official code signing cert and I couldn't find the tools indicated by build.txt. After some significant searching I've made the following notes to myself: [[[ New-SelfSignedCertificate: https://go.microsoft.com/fwlink/?LinkId=386828. Timestamp server: http://timestamp.comodoca.com/authenticode PS C:\Users\danie> $cert = New-SelfSignedCertificate -Subject "CN=dsahlberg" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 -Type CodeSigningCert PS C:\Users\danie> Export-PfxCertificate -cert "Cert:\CurrentUser\My\$($cert.Thumbprint)" -FilePath c:\devel\codesigning.pfx -Password $(ConvertTo-SecureString -String "mypassword" -Force -AsPlainText) ]]] "PS" indicates that this is run under PowerShell. I wasn't sure enough to know if it was only me or build.txt should be updated to those utilities so I left that for another day. I think the context menu is implemented in the TortoiseShell/TortoiseStub projects and I don't think they are called by a /command: in TortoiseProc but rather loaded directly to the Explorer process as a DLL. I'd probably start by adding some profiling to whatever Explorer calls to create the context menu (CShellExt::InsertSVNMenu?) and start from there. There is some profiling in the class ProfileTimer (in Utils\DebugOutput.h) that can probably help. I'm not so sure how easy it would be to connect to the running Explorer process but that might be possible if you can reproduce the issue. Good luck! Kind regards, Daniel -- You received this message because you are subscribed to the Google Groups "TortoiseSVN-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn-dev/28a0f666-5f0c-4fa8-a347-4993b5152427n%40googlegroups.com.

