¿Cómo uso SharpSVN a programáticamente “añadir a la lista de ignorados” para una carpeta
Pregunta
¿Cómo uso SharpSVN a programáticamente añadir una carpeta a la lista de ignorados?
EDIT: Intento de:
Esto es lo que he intentado
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);
Pero no sé cómo obtener el BaseRevision (que puedo conseguir de forma manual, y que las obras, pero todas las combinaciones de GetProperty He intentado no parecen dar a mí.)
SOLUCIÓN: Basado en respuesta de 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);
Solución
La lista de ignorados se almacena en el 'svn: Ignora' propiedad en el directorio principal que contiene el archivo / directorio del ser ignorado. (Consulte la Subversion libro o svn help propset
)
Así que para añadir un elemento que tiene que obtener el valor de la propiedad original (si existe) y luego añadir el elemento adicional separada con espacios en blanco. Las funciones de SvnClient para esto son GetProperty y SetProperty ().