Come si usa SharpSVN a programmaticamente “aggiungi alla lista ignora” per una cartella
Domanda
Come si usa SharpSVN a programatically per aggiungere una cartella alla lista ignora?
EDIT: Tentativo:
Ecco quello che ho provato
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);
Ma io non so come ottenere il BaseRevision (posso farlo manualmente, e che funziona, ma tutte le combinazioni di GetProperty ho provato non sembrano dare a me.)
SOLUZIONE: in base alla risposta di Bert
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);
Soluzione
La lista ignora è memorizzato nel 'svn: ignore' immobile nella directory padre che contiene la a essere ignorato file / directory. (Vedere la Subversion libro o svn help propset
)
Quindi, per aggiungere un elemento è necessario ottenere il valore della proprietà originale (se ne esiste uno) e quindi aggiungere la voce in più separati da spazi bianchi. Le funzioni di SvnClient per questo sono GetProperty e SetProperty ().