Wie verwende ich SharpSvn programmatisch „add Liste ignorieren“ für einen Ordner
Frage
Wie verwende ich SharpSvn programmatisch einen Ordner hinzufügen, um die Liste zu ignorieren?
EDIT: Versuchte:
Hier ist, was ich habe versucht,
svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, out ignores);
ignores += " Artifacts";
var args = new SvnSetPropertyArgs() { BaseRevision = ???, LogMessage = "update ignore list" };
svnClient.SetProperty(new Uri("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, ignores, args);
Aber ich weiß nicht, wie die BaseRevision zu bekommen (ich kann es von Hand zu bekommen, und das funktioniert, aber alle die Kombinationen von GetProperty Ich habe versucht, scheinen nicht, es mir zu geben.)
Lösung: Basierend auf Berts Antwort
SvnGetPropertyArgs getArgs = new SvnGetPropertyArgs(){};
string ignores = "Artifacts";
string result;
if(svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + ProjectName + "/trunk/"), SvnPropertyNames.SvnIgnore,out result))
{
ignores = result + " Artifacts"; //TODO: check for existing & tidy formatting.
}
svnClient.SetProperty(UncPath.TrimEnd('\\'), SvnPropertyNames.SvnIgnore, ignores);
SvnCommit(svnClient);
Lösung
Das Ignore-Liste wird in dem gespeicherten 'svn: Ignoriert das Eigentum an dem übergeordneten Verzeichnis, das enthält ignoriert Datei / Verzeichnis werden. (Siehe Subversion Buch oder svn help propset
)
So ein Element hinzugefügt werden Sie den ursprünglichen Eigenschaftswert erhalten müssen (falls vorhanden) und fügen Sie dann der Beipack mit Leerzeichen getrennt. Die Funktionen auf SvnClient hierfür sind GetProperty und SetProperty ().