After long solo search, I found it is possible to do. -- Though it is not pretty
var cachedItems = SvnClient.Authentication.GetCachedProperties(SvnAuthenticationCacheType.UserNamePassword)
Unfortunately, this does not return back any public fields for username or password. This does however, have a private field called "_filename" that can be used to get the username / password. --- Which can be accessed by using reflection.
foreach (var item in cachedItems)
{
///find the matching Uri to the repository you want
if (item.RealmUri.AbsoluteUri == ...)
{
var type = item.GetType();
var fields = type.GetFields();
var filename = fields.First(x => x.Name == "_filename").GetValue(item);
///Now just need to parse the file
using (var streamReader = new StreamReader(new FileStream(filename, FileMode.Open)))
{
while (streamReader.ReadLine() != "username") {}
streamReader.ReadLine(); ///There is 1 garbage line after username before the actual username
return streamReader.ReadLine();
}
}
}