Also ich benutze SharpSVN (SharpSvn.1.7-x86 1.7008.2243) und ich laufe auf ein Problem. Jedes Mal, wenn ich versuche, die SvnWorkingCopyClient
auf einem Repo zu verwenden, der an der Wurzel eines Laufwerks ist (zum Beispiel sagen, ich habe das D:\
Laufwerk, und es ist ein Repo) es wirft einen svn_dirent_is_absolute
Fehler auf mich.Kann nicht root lesen
Tatsache In dem einzigen Befehl ich, dass es egal, das finden konnte, war SvnClient.GetUriFromWorkingCopy(string)
Alle Ideen, wie ich dieses Problem lösen könnte (abgesehen meine Arbeitskopie bewegt, oder die Verknüpfung auf dem Dateisystem)? Ich hoffe, einen Weg im Code zu finden oder eine Alternative, um diese Einschränkung zu umgehen (da es scheint, dass SVN 1.7 diese Einschränkung nicht mehr hat).
Hier ist ein Code?
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.");
}
}
}
}
}
stolperte ich auch über diese http://subversion.tigris.org/issues/show_bug.cgi?id=3535 und http://subversion.tigris.org/ds/viewMessage.do?dsForumId=463&viewType=browseAll&dsMessageId=2456472
Also, da auf diese Weise wieder passiert ist, als sollte nicht dies kein Problem mehr sein?
Ihre zweite Codezeile 'var RootPath = "d: \" ; 'kompiliert nicht (ist das deine eigentliche Quelle?). Weiter unten verweisen Sie 'this.RootPath', das ist eine andere Variable, ist das was Sie vorhaben? –
Ja. Diese sind zur Laufzeit gefüllt, ich habe gerade gezeigt, wofür der Pfad eingestellt wurde. –
Ich habe die Ursache in SharpSvn für dieses Problem gefunden. Es sollte im nächsten Build behoben werden. Es wäre viel einfacher für mich, wenn Sie dies als kleines reproduzierbares Problem hier oder unter [email protected] veröffentlichen könnten. Zeige workingClient.GetVersion ("C: \\", out q) als das Problem mit der Ausnahme Ausgabe ist viel einfacher zu diagnostizieren dann Ihr ganzes Beispiel. –