Hi,

It seems the expansion of the %REPOROOT% variable does not work correctly 
for folders that are nested more than 2 levels deep. 


*Environment*

I am using TSvn 1.14.3 x64 on Win 11. 

*Steps to reproduce:*

I have a client-side *start-commit-hook *defined on /trunk.

My WC is a full checkout of /trunk. 
I don't have any branches or externals. 

The hook is set up to execute "%REPOROOT%/trunk/hooks/cleanup.exe"

*"Wait for the script to finish"* and *"Hide the script while running"* are 
checked, the other options are not.

In the repository I have the following files:
trunk\hooks\cleanup.exe
trunk\src\queries\schemas\myquery.sql

*Actual results*

   - When committing changes to the .sql file from */trunk*, the location 
   of the hook script is *correctly *identified (as expected).
   - When committing changes to the .sql file from */trunk/src* , the 
   location of the hook script is *correctly *identified (as expected) 
   - When committing changes to the .sql file from */trunk/src/queries* , 
   the location of the hook script is *INCORRECTLY *identified as 
   "trunk\src\hooks\cleanup.exe" in the Approve/Reject dialog. 
   - When committing changes to the .sql file from 
   */trunk/src/queries/schemas* , the location of the hook script is 
*INCORRECTLY 
   *identified as "trunk\src\schemas\hooks\cleanup.exe" in the 
   Approve/Reject dialog.
   - When committing changes to the .sql file *directly on the file* , the 
   location of the hook script is *INCORRECTLY *identified as 
   "trunk\src\schemas\hooks\cleanup.exe" in the Approve/Reject dialog. 


Changing %REPOROOT% to %REPOROOT+% does not fix the problem. In fact, doing 
so seems to completely break/disable the hook. The Approve/Reject dialog is 
no longer displayed regardless of where the commit is initiated from. No 
other errors are displayed, but the commit hook is not executed either. 
Changing it back to %REPOROOT% immediately reverts it back to the original 
behavior.


*Expected results*

   - Because an absolute path rooted in %REPOROOT% has been specified for 
   the hook script, TortoiseSVN should correctly find the hook script, 
   regardless of the nesting level that the commit dialog is initiated from.
   

*Workaround*

   - Always committing from the root level guarantees correct expansion of 
   %REPOROOT%.
   



-- 
You received this message because you are subscribed to the Google Groups 
"TortoiseSVN" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tortoisesvn+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn/56046fb3-c610-4ea0-9146-fc80c96ce0b3n%40googlegroups.com.

Reply via email to