When using the tortoiseproc command line to commit files with multiple paths, only the files of one of the paths are displayed in the window

54 views
Skip to first unread message

Rudong Liang

unread,
Feb 24, 2023, 10:54:58 AM2/24/23
to TortoiseSVN
The command in cmd is as follows:
TortoiseProc.exe /command:commit /path:"..\..\editor*..\..\server"

In the commit window, only the files of “..\..\server” will be displayed, 
and there are also changed files in “..\..\..editor”, but they are not displayed, and they cannot be committed

Excuse me, what is this question?

Daniel Sahlberg

unread,
Feb 26, 2023, 4:20:36 PM2/26/23
to TortoiseSVN
I tried the same and I see the same behaviour when having "..\..\" in the path. If I change the working directory so I only have "..\" in the path, it seems to work as expected. I belive the root cause is the call to CPathUtils::GetLongPathname (TortoiseProc.cpp, line 356) which in turn calls GetFullPathName (a win32 api function). The last function returns both paths when called with "..\editor*..\server" but only the second when called with "..\..\editor*..\..\server".

I don't think it is reasonable to call GetLongPathname (and GetFullPathName) with the *-ed path, I think the could should be reorganized to separate the paths before calling GetLongPathname, however that requires some refactoring and I'm running out of time now. I will hopefully have some time tomorrow evening.

Kind regards
Daniel



Daniel Sahlberg

unread,
Feb 27, 2023, 2:11:06 PM2/27/23
to TortoiseSVN
I have committed a fix as r29530, it seems to solve the problem for me. It will be available as a nightly build (https://nightlybuilds.tortoisesvn.net/latest/) if you would like to test it.

Kind regards,
Daniel


 
Reply all
Reply to author
Forward
0 new messages