Si necesita acceder a la información de las revisiones de Subversion desde otros programas, puede utilizar el interfaz COM de SubWCRev. El objeto a crear es SubWCRev.object, y se soportan los siguientes métodos:
Tabla 6.3. métodos de automatización/COM soportados
| Método | Descripción |
|---|---|
| .GetWCInfo | Este método atraviesa la copia de trabajo obteniendo la información de revisión. Naturalmente debe llamarlo antes de que pueda acceder a la información utilizando los métodos restantes. El primer parámetro es la ruta. El segundo parámetro debe ser true si desea incluir las revisiones de las carpetas; equivalente al parámetro de la línea de comandos -f. El tercer parámetro debería ser true si desea incluir svn:externals; equivalente al parámetro de la línea de comandos -e. |
| .Revision | La revisión de confirmación más alta de la copia de trabajo. Equivalente a $WCREV$ |
| .Date | La fecha/hora de la revisión de confirmación más alta. Equivalente a $WCDATE$ |
| .Author | El autor de la revisión de confirmación más alta, esto es, la última persona que confirmó cambios en la copia de trabajo. |
| .MinRev | La revisión mínima de actualización, como se muestra en $WCRANGE$ |
| .MaxRev | La revisión máxima de actualización, como se muestra en $WCRANGE$ |
| .HasModifications | True si hay modificaciones locales |
| .Url | Se reemplaza con la URL del repositorio de la copia de trabajo usada en GetWCInfo. Equivalente a $WCURL$ |
El siguiente ejemplo muestra cómo se podría usar el interfaz.
// testCOM.js - fichero javascript
// script de prueba para el objecto de Automatización/COM de SubWCRev
filesystem = new ActiveXObject("Scripting.FileSystemObject");
SubWCRev1 = new ActiveXObject("SubWCRev.object");
SubWCRev2 = new ActiveXObject("SubWCRev.object");
SubWCRev3 = new ActiveXObject("SubWCRev.object");
SubWCRev1.GetWCInfo(filesystem.GetAbsolutePathName("."), 0, 0);
SubWCRev2.GetWCInfo(filesystem.GetAbsolutePathName(".."), 1, 1);
SubWCRev3.GetWCInfo(filesystem.GetAbsolutePathName("SubWCRev.cpp"),
0, 0);
sInfo1 = "Revisión = " + SubWCRev1.Revision +
"\nMin Revisión = " + SubWCRev1.MinRev +
"\nMax Revisión = " + SubWCRev1.MaxRev +
"\nFecha = " + SubWCRev1.Date +
"\nURL = " + SubWCRev1.Url +
"\nAutor = " + SubWCRev1.Author +
"\nTieneMods = " + SubWCRev1.HasModifications;
sInfo2 = "Revisión = " + SubWCRev2.Revision +
"\nMin Revisión = " + SubWCRev2.MinRev +
"\nMax Revisión = " + SubWCRev2.MaxRev +
"\nFecha = " + SubWCRev2.Date +
"\nURL = " + SubWCRev2.Url +
"\nAutor = " + SubWCRev2.Author +
"\nTieneMods = " + SubWCRev2.HasModifications;
sInfo3 = "Revisión = " + SubWCRev3.Revision +
"\nMin Revisión = " + SubWCRev3.MinRev +
"\nMax Revisión = " + SubWCRev3.MaxRev +
"\nFecha = " + SubWCRev3.Date +
"\nURL = " + SubWCRev3.Url +
"\nAutor = " + SubWCRev3.Author +
"\nTieneMods = " + SubWCRev3.HasModifications;
WScript.Echo(sInfo1);
WScript.Echo(sInfo2);
WScript.Echo(sInfo3);