An error was reported in the Subversion Users mailing list regarding an 
assertion thrown in TortoiseSVN 
(https://mail-archives.apache.org/mod_mbox/subversion-users/202011.mbox/%3CPH0PR11MB4789BCA6DF5CB62E5198CBA491E20%40PH0PR11MB4789.namprd11.prod.outlook.com%3E).

The basic premisis is that the server is not currently reachable and the 
user has selected to be offline. In the original report there was a VPN 
involved but it doesn't matter why the server is unreachable, when 
investigating I modified the DNS resolution by inserting a fake entry in 
the c:\windows\system32\drivres\etc\hosts file.

I have dug into this and it seems to originate in CLogDlg:DoDiffFromLog. 
The call to GetRepositoryRoot (line 2855) return differently depending on 
whether the server is available (https://server.url/svn/trunk/test.txt) or 
not (blank). Following the code it seems that GetRepositoryRootAndUUID 
tries to call svn_client_get_repos_root, which fail because the server is 
not available.

If I fake the return value from GetRepositoryRoot I will end up with an 
error "Unable to connect to a repository at URL 
https://server.url/svn/trunk/test.txt";.

*Summary*
Is it reasonable that it is possible to "Show changes" from the Log dialog 
when in offline mode since we would not be able to get the files from the 
server anyway?
If reasonable, could the error from svn_client_get_repos_root be handled 
differently to avoid setting filepath empty and thus avioding the assertion 
later on?

Kind regards
Daniel Sahlberg

-- 
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/8d8ef431-b810-44bf-bf03-01ec39491c27n%40googlegroups.com.

Reply via email to