[Bug 50756] New: "Call not implemented" when using "SVN update" with TortoiseSVN
https://bugs.winehq.org/show_bug.cgi?id=50756 Bug ID: 50756 Summary: "Call not implemented" when using "SVN update" with TortoiseSVN Product: Wine Version: 6.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: lexlexlex(a)gmail.com Distribution: --- Created attachment 69541 --> https://bugs.winehq.org/attachment.cgi?id=69541 "Call not implemented." when SVN updating with TortoiseSVN To reproduce: 1. Install TortoiseSVN in a 64-bit wine prefix. 2. Use TortoiseSVN in that wine prefix to check out an SVN repository. You can do that with a command line like this: wine TortoiseProc.exe /command:checkout /path:"Z:\path\to\the\checkout\" 3. Commit a change to that SVN repository from elsewhere. 3. SVN update that SVN repository using the TortoiseSVN installation made in step 1. You can do that with a command like this: wine TortoiseProc.exe /command:update /path:"Z:\path\to\the\checkout\" Current behavior: When TortoiseSVN tries to update, it says it tries to move something at [...]\.tmp\svn-[hexadecimal] to a .svn-base file or folder. I can't really tell what it is, but my attached screenshot shows what I see when doing this. Expected behavior: TortoiseSVN is expected to work the same as in Windows when performing this operation. Additional information: This is not a regression, as far as I can tell, since I've been trying to use this functionality since wine 5.x, and it's still not working in wine 6.3. Also, since it's hard (impossible?) to get the Windows context menu in any wine file manager, I made my own nemo actions (context menu entries in the nemo file manager for Linux) which call TortoiseSVN via CLI to open its menus. CLI TortoiseSVN documentation for doing that is here: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html These nemo_action files are available upon request. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Alex Folland <lexlexlex(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lexlexlex(a)gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #1 from Alex Folland <lexlexlex(a)gmail.com> --- Created attachment 69542 --> https://bugs.winehq.org/attachment.cgi?id=69542 This adds an action to Nemo to SVN update with TortoiseSVN using the default wine prefix. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #2 from Alex Folland <lexlexlex(a)gmail.com> --- Created attachment 69543 --> https://bugs.winehq.org/attachment.cgi?id=69543 This adds an action to Nemo to SVN checkout with TortoiseSVN using the default wine prefix. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #3 from Alex Folland <lexlexlex(a)gmail.com> --- To use the nemo_action files that I've attached, you must have Nemo installed (in Linux) and TortoiseSVN installed in the default wine prefix. Place them into ~/.local/share/nemo/actions/ and name them something ending with ".nemo_action", then restart Nemo. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal --- Comment #4 from Austin English <austinenglish(a)gmail.com> --- Not a blocker. Please run wine from the terminal and attach the terminal output when TortoiseSVN fails. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #5 from Alex Folland <lexlexlex(a)gmail.com> --- Created attachment 69555 --> https://bugs.winehq.org/attachment.cgi?id=69555 Terminal log for TortoiseSVN update failure in wine -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #6 from Alex Folland <lexlexlex(a)gmail.com> --- OK, I've done that. Thank you for checking this! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Component|-unknown |kernel32 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 URL| |https://gemmei.ftp.acc.umu. | |se/mirror/osdn.net/storage/ | |g/t/to/tortoisesvn/1.14.1/A | |pplication/TortoiseSVN-1.14 | |.1.29085-x64-svn-1.14.1.msi CC| |xerox.xerox2000x(a)gmail.com --- Comment #7 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- Confirming Looks like this is the problem: 052c:fixme:file:SetFileInformationByHandle 00000000000000F0, 3, 00000000025ECA58, 222 which is apparently unsupported information class FileRenameInfo (I just stupidly commented out spec entry for SetFileInformationByHandle with stupid hack below and then it starts to download things and reports success (win version set to win2003)) Stupid hack: diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index c2a1d0b7912..e003942392b 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1410,7 +1410,7 @@ @ stdcall -import SetFileAttributesW(wstr long) # @ stub SetFileBandwidthReservation @ stdcall SetFileCompletionNotificationModes(long long) -@ stdcall -import SetFileInformationByHandle(long long ptr long) +#@ stdcall -import SetFileInformationByHandle(long long ptr long) # @ stub SetFileIoOverlappedRange @ stdcall -import SetFilePointer(long long ptr long) @ stdcall -import SetFilePointerEx(long int64 ptr long) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index d64729b57db..8dd3e18f977 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1437,7 +1437,7 @@ @ stdcall SetFileApisToOEM() @ stdcall SetFileAttributesA(str long) @ stdcall SetFileAttributesW(wstr long) -@ stdcall SetFileInformationByHandle(long long ptr long) +#@ stdcall SetFileInformationByHandle(long long ptr long) # @ stub SetFileIoOverlappedRange @ stdcall SetFilePointer(long long ptr long) @ stdcall SetFilePointerEx(long int64 ptr long) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #8 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- We already support FileRenameInformation in NtSetInformationFile, so it wasn't hard to hook it up in SetFileInformationByHandle. I sent a patch, please try it. <https://source.winehq.org/patches/data/201168> -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #9 from Alex Folland <lexlexlex(a)gmail.com> --- I managed to build wine-staging-git from the AUR with your patch at https://source.winehq.org/patches/data/201168 by saving the contents locally to a fixtortoisesvnupdate.patch file and adding these lines to the prepare function my PKGBUILD file via the Pamac interface: # apply custom patches (Alex) printf '%s\n' ' -> Applying custom patches (Alex)...' wine-staging/patches/gitapply.sh -d wine < "/home/alex/media/projects/winepatches/fixtortoisesvnupdate.patch" As a relative Linux newbie, I'm not sure if this is the correct way to do it, but I'm sure it worked because the behavior of the TortoiseSVN update command changed after doing it. Here are the commands I used to test after the build finished (with company-specific secrets in the path replaced with generic equivalents): $ wineserver -k $ wine tortoiseproc.exe /command:update /path:"Z:/home/alex/work/company/project/ProjectMS" Result: Instead of "Call not implemented.", I get "Path is invalid.". I'm attaching a screenshot and terminal log showing this result after this comment. So, it looks like there's progress! Thank you for your work! I'm excited! However, I'm not sure what to do with this new error. I can't say the whole issue is fixed, even if the cause of the original error message seems to be. I'm excited to test further. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #10 from Alex Folland <lexlexlex(a)gmail.com> --- Created attachment 69583 --> https://bugs.winehq.org/attachment.cgi?id=69583 Here's a screenshot of the "Path is invalid." error from TortoiseSVN. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #11 from Alex Folland <lexlexlex(a)gmail.com> --- Created attachment 69584 --> https://bugs.winehq.org/attachment.cgi?id=69584 Here's the terminal log for the "Path is invalid." error from TortoiseSVN. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #12 from Alex Folland <lexlexlex(a)gmail.com> --- I see that the change was committed to wine. Wine-staging has been rebased to include that, so now I don't have to apply the patch. Thanks! My result after rebuilding wine-staging with the change is the same as my most recent result: "Path is invalid." -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #13 from Alex Folland <lexlexlex(a)gmail.com> --- I've discovered that if I skip TortoiseSVN altogether and use svn in wineconsole, I see the same error, like this: --- Z:\home\alex\work\company\project\ProjectMS>svn up Updating '.': svn: E720161: Can't move 'Z:\home\alex\work\company\project\ProjectMS\.svn\tmp\svn-E83B9930' to 'Z:\home\alex\work\company\project\ProjectMS\.svn\pristine\7e\7e90e1808f2765e4d9677ec8c8f97c345fdb01b9.svn-base': Path is invalid. Z:\home\alex\work\work\company\project\ProjectMS> --- There's stdout output from wine when I do this, which is just this: 0134:fixme:ntdll:EtwRegisterTraceGuidsW (000007FF72F10000, 000007FF72F2BA80, {69d3f5b6-6605-4ef9-b6a0-bc0233bd2ca6}, 1, 000000000022E380, (null), (null), 000007FF72F2BA88): stub 0134:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {69d3f5b6-6605-4ef9-b6a0-bc0233bd2ca6} 0134:fixme:ntdll:EtwEventRegister ({422088e6-cd0c-4f99-bd0b-6985fa290bdf}, 0000000000000000, 0000000000000000, 000007FF72F2C098) stub. 0134:fixme:file:NtLockFile I/O completion on lock not implemented yet 0134:fixme:ntdll:EtwEventUnregister (deadbeef) stub. 0134:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub I hope this sheds some light on this issue. I feel like this is so close to working! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|"Call not implemented" when |"Path is Invalid" when |using "SVN update" with |using "SVN update" with |TortoiseSVN |TortoiseSVN --- Comment #14 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- Hi, I found maybe for others easier to reproduce this bug one could also do checkout a svn tree: wine TortoiseProc.exe /command:checkout http://svn.forge.scilab.org/scilab2c then just hit ok. I don`t know how to fix this bug but your remark that it`s in svn led me to source that might help solve this bug: https://github.com/apache/subversion/blob/trunk/subversion/libsvn_subr/io.c Maybe wine returns wrong status on error , no idea; if you add dumb hack to set error always to STATUS_ACCESS_DENIED in SetFileInformationByHandle (..,FileRenameinfo,..,..) the checkout starts to work Btw source apparently has fallback is SetFileInformationHandle is not found, very sad workaround is to just replace the string "SetFileInformationByHandle" with bogus string (with same length) in libsvn_tsvn.dll, but that`s cheating ;) relevant part of source: svn_error_t * svn_io__win_rename_open_file(apr_file_t *file, const char *from_path, const char *to_path, apr_pool_t *pool) { WCHAR *w_final_abspath; size_t path_len; size_t rename_size; FILE_RENAME_INFO *rename_info; HANDLE hFile; apr_status_t status; apr_os_file_get(&hFile, file); SVN_ERR(svn_io__utf8_to_unicode_longpath( &w_final_abspath, svn_dirent_local_style(to_path,pool), pool)); path_len = wcslen(w_final_abspath); rename_size = sizeof(*rename_info) + sizeof(WCHAR) * path_len; /* The rename info struct doesn't need hacks for long paths, so no ugly escaping calls here */ rename_info = apr_pcalloc(pool, rename_size); rename_info->ReplaceIfExists = TRUE; rename_info->FileNameLength = path_len; memcpy(rename_info->FileName, w_final_abspath, path_len * sizeof(WCHAR)); status = win32_set_file_information_by_handle(hFile, FileRenameInfo, rename_info, rename_size); if (APR_STATUS_IS_EACCES(status) || APR_STATUS_IS_EEXIST(status)) { /* Set the destination file writable because Windows will not allow us to rename when final_abspath is read-only. */ SVN_ERR(svn_io_set_file_read_write(to_path, TRUE, pool)); status = win32_set_file_information_by_handle(hFile, FileRenameInfo, rename_info, rename_size); } /* Windows returns Vista+ client accessing network share stored on Windows Server 2003 returns ERROR_ACCESS_DENIED. The same happens when Vista+ client access Windows Server 2008 with disabled SMBv2 protocol. So return SVN_ERR_UNSUPPORTED_FEATURE in this case like we do when SetFileInformationByHandle() is not available and let caller to handle it. See "Access denied error on checkout-commit after updating to 1.9.X" discussion on dev(a)s.a.o: http://svn.haxx.se/dev/archive-2015-09/0054.shtml */ if (status == APR_FROM_OS_ERROR(ERROR_ACCESS_DENIED)) { status = SVN_ERR_UNSUPPORTED_FEATURE; } if (status) { return svn_error_wrap_apr(status, _("Can't move '%s' to '%s'"), svn_dirent_local_style(from_path, pool), svn_dirent_local_style(to_path, pool)); } return SVN_NO_ERROR; } -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #15 from Alex Folland <lexlexlex(a)gmail.com> --- That's very helpful indeed for reproducing it, and now I don't have to hide my directory names. I tried skipping TortoiseSVN altogether again and got the same result with just pure svn for Windows: --- Z:\home\alex\media\projects>svn checkout http://svn.forge.scilab.org/scilab2c svn: E720161: Can't move 'Z:\home\alex\media\projects\scilab2c\.svn\tmp\svn-531DC948' to 'Z:\home\alex\media\projects\scilab2c\.svn\pristine\5c\5c744f11997c6309db8ef3c69b41090f657db02e.svn-base': Path is invalid. Z:\home\alex\media\projects> --- I see identical wine stdout output with this test too: 0154:fixme:ntdll:EtwRegisterTraceGuidsW (000007FF72F10000, 000007FF72F2BA80, {69d3f5b6-6605-4ef9-b6a0-bc0233bd2ca6}, 1, 000000000022E380, (null), (null), 000007FF72F2BA88): stub 0154:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {69d3f5b6-6605-4ef9-b6a0-bc0233bd2ca6} 0154:fixme:ntdll:EtwEventRegister ({422088e6-cd0c-4f99-bd0b-6985fa290bdf}, 0000000000000000, 0000000000000000, 000007FF72F2C098) stub. 0154:fixme:file:NtLockFile I/O completion on lock not implemented yet 0154:fixme:ntdll:EtwEventUnregister (deadbeef) stub. 0154:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Alex Folland <lexlexlex(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|"Path is Invalid" when |"Path is invalid." when |using "SVN update" with |using "SVN update" with SVN |TortoiseSVN |for Windows, which is used | |by TortoiseSVN -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #16 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- I put some extra traces in the calls to SetFileInformationbyhandle and Ntsetinformationfile and the error seems to come from here (line 4393 ntdll/unix/file.c): io->u.Status = nt_to_unix_file_name_attr( &attr, &unix_name, &nt_name,.. if (io->u.Status != STATUS_SUCCESS && io->u.Status != STATUS_NO_SUCH_FILE) break; AFAICT it tries to convert something like "C:\\Program Files\\TortoiseSVN\\scilab2\\.svn\\pristine\7f\\7f67b1a3bd137585d365a2098253c3519f198f98.svn-base" but the above fails (because it's a dosname ???(guess guess) , maybe it should first be converted into a valid nt name , just speculating, maybe someone with more knowledge could shed light on this -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #17 from Alex Folland <lexlexlex(a)gmail.com> --- If what you pasted is correct, it looks like there's only 1 backslash before "7f", which would indeed make the path invalid. Is that the case, or was that just a formatting/paste issue? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #18 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- (In reply to Alex Folland from comment #17)
If what you pasted is correct, it looks like there's only 1 backslash before "7f", which would indeed make the path invalid. Is that the case, or was that just a formatting/paste issue?
Hi, that was copy-paste error. The string is correct but the call nt_to_unix_file_name_attr() fails with STATUS_OBJECT_PATH_SYNTAX_BAD. I think (but I don`t know really) that nt names should start with \\ , but as I said, maybe someone with more knowledge could shed a light on this -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #19 from Alex Folland <lexlexlex(a)gmail.com> --- That leads to this at line 3322 of ntdll/unix/file.c in the definition of nt_to_unix_file_name: if (!name_len || !IS_SEPARATOR(name[0])) return STATUS_OBJECT_PATH_SYNTAX_BAD; So, it looks like because the path doesn't start with a separator (and I'm guessing this means a slash or backslash), its syntax is considered invalid for the conversion. I researched this a tiny amount and found https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-even/c1550f9... which states that NT object paths must start with "\??\". This is all just a guess too, but it sounds like to me that in your example, the NT object path should be like this before being passed into nt_to_unix_file_name_attr: "\\??\\C:\\Program Files\\TortoiseSVN\\scilab2\\.svn\\pristine\\7f\\7f67b1a3bd137585d365a2098253c3519f198f98.svn-base" I wonder if stupidly prepending "\\??\\" or "\??\" somewhere would give us a hint. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #20 from Alex Folland <lexlexlex(a)gmail.com> --- Wait, that documentation may not be relevant at all, since its context is the Windows event log. Sorry, I'm not good at that. Hopefully that doesn't derail the discussion. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #21 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- Your thoughts is exactly what i thought too. Isn`t it so that when SetFileInformationByHandle delegates the call to NtSetInformationFile first some "conversion" needs to be done of the info structure. There`s several examples in kernelbase/file.c where RtlDosPathNameToNtPathName_U does that job. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #22 from Alex Folland <lexlexlex(a)gmail.com> --- Maybe prepending "\\?\" instead would work. A further alternative idea is simply removing the " || !IS_SEPARATOR(name[0])" part of the code I quoted above and seeing what happens. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Roman Pišl <rpisl(a)seznam.cz> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rpisl(a)seznam.cz --- Comment #23 from Roman Pišl <rpisl(a)seznam.cz> --- I just tested that translating info->FileName with RtlDosPathNameToNtPathName_U in SetFileInformationByHandle makes TortoiseSVN work flawlessly. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #24 from Alex Folland <lexlexlex(a)gmail.com> --- Hi, Roman. Thanks for that info! I'm trying it here naively and wine-staging is building with my naive patch, but I don't think my code will work since I'm not sure how to handle pointers and other C stuff. I'm more of a Lua programmer myself. Can you please detail what exactly you did in code so I can try it here, and/or post a patch? Also, do you think it's a viable way that could be upstreamed, or just an experiment that needs more correct implementation? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #25 from Roman Pišl <rpisl(a)seznam.cz> --- Created attachment 69610 --> https://bugs.winehq.org/attachment.cgi?id=69610 Fix path translation in SetFileInformationByHandle This works for me. I hope you will manage to fix it in upstream in soon, it will require probably some tests.. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #26 from Alex Folland <lexlexlex(a)gmail.com> --- Yes, applying that patch here in my PKGBUILD for wine-staging made it work here too! I was able to checkout scilab2c, and also cleanup and update my work repository with TortoiseSVN for the first time since switching to Linux last August! Woo! Thanks, Gijs, Louis, and Roman for working through this with me and solving it for my personal use case in the end! Now there's the matter of upstreaming and whether this is the correct solution. This is just a thought, but I noticed that since TortoiseSVN works in Windows, maybe it isn't sending a unicode-compatible path when calling SetFileInformationByHandle, and other programs do. So, I'm not sure if this is the correct solution, but it may be. If someone more familiar with this stuff (such as Alexandre Julliard, for example) can review this patch, it would be awesome. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #27 from Alex Folland <lexlexlex(a)gmail.com> --- In hopeful anticipation of this being upstreamed before wine 6.5, I've published my .nemo_action files for using TortoiseSVN via wine in Nemo, here: https://github.com/AlexFolland/tortoisesvn-wine-nemo-actions I realize this isn't directly pertinent to this issue, but I'm mentioning it to show the value that upstreaming this patch may provide. If this is upstreamed, anyone else stuck with no decent SVN GUI will be able to use my Nemo actions to work with TortoiseSVN in wine easily. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #28 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- Hi Alex,
In hopeful anticipation of this being upstreamed before wine 6.5,
As far as i get from comment 25 Roman is not going to send it in, so i guess you`ll have to do that yourself. If you`re unsure about patch maybe it`s an idea to ask if it could be included in Staging (if that`s a reasonable enough solution for you) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #29 from Roman Pišl <rpisl(a)seznam.cz> --- Hi folks, I'll try to prepare something next week if needed as it also allows me to abandon some legacy setups. Anyway thanks for the research and Nemo integration. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Alex Folland <lexlexlex(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED --- Comment #30 from Alex Folland <lexlexlex(a)gmail.com> --- Hey Roman! I noticed your changes have been upstreamed, so I built the latest wine-staging and tested here. Everything works beautifully! Thank you so much. I'm marking this resolved. TortoiseSVN works well. The only tweaks we have to make for wine are: 1. Disable the Direct2D-rendered Scintilla text field by setting ScintillaDirect2D to "false" 2. Do either of the following: -Disable ribbon UI in TortoiseMerge by creating a DWORD "HKCU\Software\\TortoiseMerge\\UseRibbons" and setting it to FALSE or -Copy the following DLLs from a Windows installation to ~/.wine/drive_c/windows/system32/ and rename them to lower-case versions, then set them to be used as overrides in winecfg: -C:\Windows\System32\UIRibbon.dll -C:\Windows\System32\UIRibbonRes.dll -C:\Windows\System32\uxtheme.dll -C:\Windows\System32\propsys.dll 3. Set up some sort of integration with a file manager. I've shared my integration with Nemo here: https://github.com/AlexFolland/tortoisesvn-wine-nemo-actions After that, TortoiseSVN will work with Linux in a relatively seamless way! Thanks for all the help, everyone in this thread! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #31 from Roman Pišl <rpisl(a)seznam.cz> --- Hi Alex, have you considered updating AppDB or publishing these tips on the Github repo? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |33c6a6cb285800cac60ceab5868 | |122fa8d9cda92 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #32 from Alex Folland <lexlexlex(a)gmail.com> --- Good idea! I've added a section for TortoiseSVN known issue workarounds in my repo's README.md at https://github.com/AlexFolland/tortoisesvn-wine-nemo-actions I may further update the TortoiseSVN entry in AppDB once wine 6.5 is out with this fix included. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #33 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 6.5. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 --- Comment #34 from Alex Folland <lexlexlex(a)gmail.com> --- (In reply to Roman Pišl from comment #31)
Hi Alex, have you considered updating AppDB or publishing these tips on the Github repo?
I've finally gotten around to adding this information in AppDB as well: https://appdb.winehq.org/objectManager.php?sClass=version&iId=40023 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Michael Stefaniuc <mstefani(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6.0.x -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Michael Stefaniuc <mstefani(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6.0.x |--- --- Comment #35 from Michael Stefaniuc <mstefani(a)winehq.org> --- Removing the 6.0.x milestone from bug fixes included in 6.0.2. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50756 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |focht(a)gmx.net URL|https://gemmei.ftp.acc.umu. |https://web.archive.org/web |se/mirror/osdn.net/storage/ |/20211029120732/https://gem |g/t/to/tortoisesvn/1.14.1/A |mei.ftp.acc.umu.se/mirror/o |pplication/TortoiseSVN-1.14 |sdn.net/storage/g/t/to/tort |.1.29085-x64-svn-1.14.1.msi |oisesvn/1.14.1/Application/ | |TortoiseSVN-1.14.1.29085-x6 | |4-svn-1.14.1.msi -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla