SharpSvn GetFileVersions intervalo de revisões, apenas uma versão do arquivo retornado
Pergunta
Eu estou tentando usar o SharpSvn para ler o conteúdo de duas versões de um arquivo.Quando eu execute o seguinte código a fileVersions
coleção contém apenas um item..
var svnClient = new SvnClient();
var revisionInfo = new SvnFileVersionsArgs
{
Start = 80092,
End = 80093
};
Collection<SvnFileVersionEventArgs> fileVersions;
svnClient.GetFileVersions(
new SvnUriTarget("https://DbDiff.svn.codeplex.com/svn/DbDiffCommon/DataAccess/SqlCommand11.xml"),
revisionInfo,
out fileVersions);
No entanto, eu seria de esperar que incluem dois itens.Usando o TortoiseSVN eu posso ver que o arquivo alterado na revisão 80088, então eu seria de esperar para obter esta versão quando eu uso Start = 80092
..
Usando Start = 80091
não ajuda..
Solução
O problema não está no seu código, mas na SvnBridge software utilizado pela codeplex.(Eles armazenam os dados no TFS e fornecer acesso através da ponte, em vez de utilizar uma verdadeira Subversão de back-end).
O software de ponte de não implementar esta api corretamente.(Eu adicionei um problema sobre isso anos atrás, mas, tanto quanto eu posso dizer que nunca foi corrigido).
O Subversion si só utiliza esta api para 'svn culpa' (/louvor/anotar), então eu acho que o SvnBridge desenvolvedores não se importa o suficiente para corrigir isso.
Em AnkhSVN eu detectar o caso de apenas receber um arquivo e, em seguida, usar SvnClient.Write() para obter o arquivo de maneira lenta :(