Hi,

Once again double checking my assumptions regarding the code. In the user 
group there [1] is a discussion where I believe the error is caused by 
GetHEADRevision returning a revision even when the URL is invalid.

The following patch is using svn_ra_stat to check if the path exists and it 
seems to do what it is supposed to do.

[[[
--- C:/Users/danie/AppData/Local/Temp/SVN.cpp-revBASE.svn005.tmp.cpp    tis 
jun  7 17:38:11 2022
+++ C:/Devel/tortoisesvn_trunk/src/SVN/SVN.cpp    sön dec 11 17:34:23 2022
@@ -2733,0 +2734,13 @@ svn_revnum_t SVN::GetHEADRevision(const CTSVNPath&
+
+        /* Check if path actually exist */
+        svn_dirent_t *dirent;
+        SVNTRACE(
+            svn_ra_stat(raSession, "", rev, &dirent, localPool),
+            urla);
+        if (dirent == nullptr)
+        {
+            CString 
message(MAKEINTRESOURCE(IDS_SVN_URL_NONEXISTENT_IN_REV));
+            m_err = svn_error_createf(SVN_ERR_RA_ILLEGAL_URL, NULL, 
CUnicodeUtils::GetUTF8(message).GetString(), urla, rev);
+            return -1;
+        }
+
]]]

Will this break any other assumptions, where GetHEADRevision is assumed to 
return HEAD for an arbitrary path within the repository? I checked quickly 
in RepoBrowser but that seemed to work fine.

Kind regards,
Daniel

[1] https://groups.google.com/g/tortoisesvn/c/5juHVu4tioQ

-- 
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 tortoisesvn-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tortoisesvn-dev/e907d55a-3521-41d2-b996-30cbbbdf2995n%40googlegroups.com.

Reply via email to