Me gustaría agregar todos los archivos no versionados bajo un directorio a SVN usando SharpSVN.Agregar archivo usando SharpSVN
Probé comandos regulares SVN en la línea de comandos en primer lugar:
C:\temp\CheckoutDir> svn status -v
veo todos los subdirectorios, todos los archivos que ya estén marcados, unos nuevos archivos etiquetados, nada con la "L "?" "indicación de bloqueo
C:\temp\CheckoutDir> svn add . --force
Esto se traduce en todos los nuevos archivos en los subdirectorios, que ya se encuentran bajo el control de versiones a sí mismos, que se añade.
Me gustaría hacer lo mismo con SharpSVN. Copio algunos archivos adicionales en el mismo directorio y ejecutar este código:
...
using (SharpSvn.SvnClient svn = new SvnClient())
{
SvnAddArgs saa = new SvnAddArgs();
saa.Force = true;
saa.Depth = SvnDepth.Infinity;
try
{
svn.Add(@"C:\temp\CheckoutDir\." , saa);
}
catch (SvnException exc)
{
Log(@"SVN Exception: " + exc.Message + " - " + exc.File);
}
}
Pero una SvnException se eleva:
- SvnException.Message: copia de trabajo 'C: \ temp \ CheckoutDir' encerrados
- SvnException.File: .. \ .. \ .. \ subversión \ libsvn_wc \ lock.c"
Ningún otro ejemplo svnclient se está ejecutando en mi código, también intentamos llamar
svn.cleanup()
justo antes del Agregar, pero sin éxito.
Dado que el documentation es bastante vago;), Me preguntaba si alguien aquí sabía la respuesta.
¡Gracias de antemano!
Ene
¿Has intentado preguntar en los foros de discusión de SharpSVN? Probablemente puedas obtener una mejor respuesta allí. – hao
Mientras tanto, miré en el código de pruebas de unidad: http://sharpsvn.open.collab.net/source/browse/sharpsvn/trunk/src/SharpSvn.Tests/Commands/AddTests.cs TestAddDirectoryRecursively hace algo similar, pero agrega un nuevo directorio1 en WorkingcopyPath y todo en él. Me gustaría agregar todo en WorkingCopyPath. – jan