Como uso o SharpsVn para “adicionar à lista de ignorar” para uma pasta
Pergunta
Como uso o SharpsVN para programar para adicionar uma pasta à lista de ignorados?
Editar: Tentativa:
Aqui está o que eu tentei
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);
Mas não sei como obter a BaseVision (posso obtê -lo manualmente, e isso funciona, mas todas as combinações do GetProperty que tentei não parecem me dar.)
Solução: com base na resposta 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);
Solução
A lista de ignorar é armazenada na propriedade 'svn: ignora' no diretório pai que contém o arquivo/diretório a ser ignorado. (Veja o Livro de Subversão ou svn help propset
)
Portanto, para adicionar um item, você deve obter o valor da propriedade original (se houver um) e adicione o item extra separado ao espaço em branco. As funções no SVNClient para isso são GetProperty e SetProperty ().
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow