Hola, yo uso la biblioteca C# y SharpSvn. Me gustaría comprobar si el archivo está bajo control de fuente antes de agregarlo con SvnClient.Add. Cuando lo hago en un archivo que ya está en SVN, obtengo un error: "ya está bajo control de versión".¿Cómo comprobar si el archivo está bajo control de fuente en SharpSvn?
10
A
Respuesta
10
Esto demuestra bastante bien cómo hacerlo utilizando el estado
using(SvnClient client = new SvnClient())
{
SvnStatusArgs sa = new SvnStatusArgs();
sa.Depth = SvnDepth.Empty; // Adjust this to check direct files, or (recursive) directories etc
Collection<SvnStatusEventArgs> statuses;
client.GetStatus("c:\\somefile.txt", sa, out statuses);
Assert.That(statuses.Count, Is.EqualTo(1));
Assert.That(SvnStatus.NotVersioned, Is.EqualTo(statuses[0].LocalContentStatus));
}
6
Si sólo desea saber si el archivo está bajo control de código fuente que podría utilizar .Info()
/.GetInfo()
. Ese método es generalmente más rápido, ya que no tiene que verificar si el archivo ha cambiado desde que se desprotegió.
+0
'.Status()' hará una comparación de archivos si el archivo pudo haber sido modificado, por lo que en el peor de los casos, si solo se modificó el último byte de un archivo de 2 GByte, casi podría leer 2 * 2 GByte para determinarlo. Con '.Info()' estás seguro de que esto nunca sucede. –
Cuestiones relacionadas
- 1. Determinar si el directorio está bajo el control de git
- 2. Comprueba si el archivo ya está en el control de código fuente
- 3. svn: ignorar 'archivo' no está bajo el control de versión
- 4. Agregar archivo usando SharpSVN
- 5. cómo comprobar si el campo de archivo está vacío?
- 6. ¿Cómo comprobar si el archivo es binario?
- 7. Cómo comprobar si un archivo está completamente copiado en .NET
- 8. ¿Debería Resources.Designer.cs estar bajo control de fuente?
- 9. ¿Cómo poner las soluciones de BIDS bajo control de fuente?
- 10. Poniendo el directorio de inicio bajo control de fuente (hg)
- 11. ¿Cómo comprobar si un archivo está vacío en Bash?
- 12. ¿Cómo comprobar si el objeto JSON está vacío en PHP?
- 13. Cómo comprobar si se está llamando al archivo Global.asax
- 14. ¿Cómo comprobar si un archivo está comprimido gzip?
- 15. ¿Cómo comprobar si un archivo zip generado está dañado?
- 16. ¿Cómo comprobar si está correctamente instalado mongodb
- 17. Comprobar si el proceso se está ejecutando
- 18. Comprobar si el cronómetro está funcionando
- 19. ¿Cómo comprobar si el socket está cerrado en Boost.Asio?
- 20. Cómo comprobar si el compilador JIT está desactivado en Java
- 21. Cómo comprobar si el valor está en la lista
- 22. ¿Cómo comprobar si el objeto JSON está vacío en Java?
- 23. ¿Cómo comprobar si un control de usuario está delante de otros en C#?
- 24. ¿Cómo comprobar si javascript está deshabilitado?
- 25. ¿Cómo comprobar si PHP mail() está habilitado?
- 26. Comprobar si existe el archivo sin crear
- 27. ¿Cómo comprobar si UITextFields está vacío?
- 28. Cómo comprobar si Facebook está instalado Android
- 29. Comprobar si el control de cuadro de texto está dentro de TabControl
- 30. ¿Qué parte de HUDSON_HOME debería poner bajo control de fuente?
Verificar con .GetInfo() es un poco más barato (io-wise) si solo necesita saber si el archivo está bajo control de fuente y no si el archivo se modifica. –
'.Status()' hará una comparación de archivos si el archivo pudo haber sido modificado, por lo que en el peor de los casos, si solo se modificó el último byte de un archivo de 2 GByte, podría casi leer 2 * 2 GByte para determinarlo. Con '.Info()' estás seguro de que esto nunca sucede. –