そのため、SharpSVN(SharpSvn.1.7-x86 1.7008.2243)を使用していますが、問題が発生し続けています。ドライブのルートにあるリポジトリでonを使用しようとするたびにSvnWorkingCopyClient
(たとえば、D:\
ドライブがあり、それ自体がリポジトリである場合)、svn_dirent_is_absolute
エラーがスローされます。
実際、私が見つけた、気にしないコマンドはSvnClient.GetUriFromWorkingCopy(string)
これを解決する方法についてのアイデアはありますか(作業コピーを移動したり、ファイルシステムにリンクしたりする以外に)?私はコードで方法を見つけること、またはこの制限を回避するための代替手段を見つけたいと思っています(SVN 1.7にはもうこの制限がないようです)。
ここにいくつかのコードがありますか?
private void fakeFunction(){
var RootPath="d:\";
using (var client = new SharpSvn.SvnClient())
using(var workingClient = new SvnWorkingCopyClient())
{
SvnWorkingCopyVersion workingVersion = null;
// Exception happens here
if (workingClient.GetVersion(this.RootPath, out workingVersion))
{
CurrentRevision = workingVersion.End;
// This will resolve just fine
var targetUri = client.GetUriFromWorkingCopy(RootPath);
var target = SvnTarget.FromUri(targetUri);
SvnInfoEventArgs info = null;
if (client.GetInfo(target, out info))
{
if (workingVersion.End != info.Revision)
{
System.Collections.ObjectModel.Collection<SvnLogEventArgs> logEventArgs = null;
if (client.GetLog(targetUri, out logEventArgs))
{
var oldBack = Console.BackgroundColor;
var oldFor = Console.ForegroundColor;
Console.BackgroundColor = ConsoleColor.DarkMagenta;
Console.ForegroundColor = ConsoleColor.White;
foreach (var l in logEventArgs)
{
Console.WriteLine("[{0}-{1}]-{2}", l.Revision, l.Author, l.LogMessage);
}
Console.BackgroundColor = oldBack;
Console.ForegroundColor = oldFor;
}
System.Console.WriteLine("Repo not up to date.");
}
}
}
}
}
また、このhttp://subversion.tigris.org/issues/show_bug.cgi?id=3535とhttp://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&viewType=browseAll&dsMessageId=2456472に出くわしました。
それで、それはずっと昔に起こったので、これはもう問題ではないでしょうか?