interfaz COM

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étodoDescripción
.GetWCInfoEste 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.
.RevisionLa revisión de confirmación más alta de la copia de trabajo. Equivalente a $WCREV$
.DateLa fecha/hora de la revisión de confirmación más alta. Equivalente a $WCDATE$
.AuthorEl autor de la revisión de confirmación más alta, esto es, la última persona que confirmó cambios en la copia de trabajo.
.MinRevLa revisión mínima de actualización, como se muestra en $WCRANGE$
.MaxRevLa revisión máxima de actualización, como se muestra en $WCRANGE$
.HasModificationsTrue si hay modificaciones locales
.UrlSe 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);