Ak potrebujete získať prístup k informáciám o revízii Subversion z iných programov, môžete použiť rozhranie COM programu SubWCRev. Objekt, ktorý sa má vytvoriť, je SubWCRev.objekt a sú podporované nasledujúce metódy:
Tabuľka 6.4. Podporované metódy COM/automatizácie
| Metóda | Popis |
|---|---|
| .GetWCInfo | Táto metóda prechádza pracovnou kópiou a zhromažďuje informácie o revízii. Prirodzene, musíte toto zavolať skôr, ako získate prístup k informáciám pomocou zostávajúcich metód. Prvým parametrom je cesta. Druhý parameter by mal byť true, ak chcete zahrnúť revízie priečinkov. Obdoba prepínača príkazového riadku -f. Tretí parameter by mal byť true, ak chcete zahrnúť svn:externals. Obdoba prepínača príkazového riadku -e. |
| .GetWCInfo2 | Rovnaké ako GetWCInfo() ale so štvrtým parametrom, ktorý nastavuje ekvivalent k prepínaču príkazového riadku -E. |
| .Revision | Najvyššia odovzdaná revízia v pracovnej kópii. Zhodná s $WCREV$. |
| .Date | Dátum/čas odovzdania najvyššej odovzdanej revízie. Ekvivalent pre $WCDATE$. |
| .Author | Autor najvyššej revízie odovzdania, to znamená, posledný človek, ktorý sa odovzdal zmeny v pracovnej kópii. |
| .MinRev | Minimálna revízia aktualizácie, ako je uvedené v $WCRANGE$ |
| .MaxRev | Maximálna revízia aktualizácie, ako je uvedené v $WCRANGE$ |
| .HasModifications | True, ak existujú miestne úpravy |
| .HasUnversioned | True, ak existujú bezverziové položky |
| .Url | Nahradené s URL úložiska cesty pracovnej kópie použitej v GetWCInfo. Ekvivalent $WCURL$. |
| .IsSvnItem | True, ak je položka verziová. |
| .NeedsLocking | True, ak má položka nastavenú vlastnosť svn:needs-lock. |
| .IsLocked | True, ak je položka uzamknutá. |
| .LockCreationDate | Reťazec predstavujúci dátum, kedy bol zámok vytvorený, alebo prázdny reťazec, ak položka nie je uzamknutá. |
| .LockOwner | Reťazec predstavujúci vlastníka zámku, alebo prázdny reťazec, ak položka nie je uzamknutá. |
| .LockComment | Správa zadaná pri vytvorení zámku. |
Nasledujúci príklad ukazuje, ako sa dá rozhranie použiť.
// testCOM.js - súbor java skriptu
// testovací skript pre objekt COM/automatizácie SubWCRev
filesystem = new ActiveXObject("Scripting.FileSystemObject");
revObject1 = new ActiveXObject("SubWCRev.object");
revObject2 = new ActiveXObject("SubWCRev.object");
revObject3 = new ActiveXObject("SubWCRev.object");
revObject4 = new ActiveXObject("SubWCRev.object");
revObject1.GetWCInfo(
filesystem.GetAbsolutePathName("."), 1, 1);
revObject2.GetWCInfo(
filesystem.GetAbsolutePathName(".."), 1, 1);
revObject3.GetWCInfo(
filesystem.GetAbsolutePathName("SubWCRev.cpp"), 1, 1);
revObject4.GetWCInfo2(
filesystem.GetAbsolutePathName("..\\.."), 1, 1, 1);
wcInfoString1 = "Revizia = " + revObject1.Revision +
"\nMin Revizia = " + revObject1.MinRev +
"\nMax Revizia = " + revObject1.MaxRev +
"\nDatum = " + revObject1.Date +
"\nURL = " + revObject1.Url + "\nAutor = " +
revObject1.Autor + "\nMaZmeny = " +
revObject1.MaZmeny + "\nJePolozkaSvn = " +
revObject1.JePolozkaSvn + "\nNutneZamknut = " +
revObject1.NutneZamknut + "\nJeZamknute = " +
revObject1.JeZamknute + "\nDatumVytvoreniaZamku = " +
revObject1.DatumVytvoreniaZamku + "\nVlastnikZamku = " +
revObject1.VlastnikZamku + "\nKomentarZamku = " +
revObject1.KomentarZamku;
wcInfoString2 = "Revizia = " + revObject2.Revision +
"\nMin Revizia = " + revObject2.MinRev +
"\nMax Revizia = " + revObject2.MaxRev +
"\nDatum = " + revObject2.Date +
"\nURL = " + revObject2.Url + "\nAuthor = " +
revObject2.Autor + "\nMaZmeny = " +
revObject2.MaZmeny + "\nJePolozkaSvn = " +
revObject2.JePolozkaSvn + "\nNutneZamnut = " +
revObject2.NutneZamknut + "\nJeZamknute = " +
revObject2.JeZamknute + "\nDatumVytvoreniaZamku = " +
revObject2.DatumVytvoreniaZamku + "\nVlastnikZamku = " +
revObject2.VlastnikZamku + "\nKomentarZamku = " +
revObject2.KomentarZamku;
wcInfoString3 = "Revizia = " + revObject3.Revision +
"\nMin Revizia = " + revObject3.MinRev +
"\nMax Revizia = " + revObject3.MaxRev +
"\nDatum = " + revObject3.Date +
"\nURL = " + revObject3.Url + "\nAutor = " +
revObject3.Autor + "\nMaZmeny = " +
revObject3.MaZmeny + "\nJePolozkaSvn = " +
revObject3.JePolozkaSvn + "\nNutneZamknut = " +
revObject3.NutneZamknut + "\nJeZamknute = " +
revObject3.JeZamknute + "\nDatumVytvoreniaZamku = " +
revObject3.DatumVytvoreniaZamku + "\nVlastnikZamku = " +
revObject3.VlastnikZamku + "\nKomentarZamku = " +
revObject3.KomentarZamku;
wcInfoString4 = "Revizia = " + revObject4.Revision +
"\nMin Revizia = " + revObject4.MinRev +
"\nMax Revizia = " + revObject4.MaxRev +
"\nDatum = " + revObject4.Date +
"\nURL = " + revObject4.Url + "\nAutor = " +
revObject4.Autor + "\nMaZmeny = " +
revObject4.MaZmeny + "\nJePolozkaSvn = " +
revObject4.JePolozkaSvn + "\nNutneZamknut = " +
revObject4.NutneZamknut + "\nJeZamknute = " +
revObject4.JeZamknute + "\nDatumVytvoreniaZamku = " +
revObject4.DatumVytvoreniaZamku + "\nVlastnikZamku = " +
revObject4.VlastnikZamku + "\nKomentarZamku = " +
revObject4.KomentarZamku;
WScript.Echo(wcInfoString1);
WScript.Echo(wcInfoString2);
WScript.Echo(wcInfoString3);
WScript.Echo(wcInfoString4);
Nasledujúci zoznam je príkladom toho, ako používať objekt SubWCRev COM z C #:
using LibSubWCRev;
SubWCRev sub = new SubWCRev();
sub.GetWCInfo("C:\\CestakMojmuSuboru\\MojSubor.cc", true, true);
if (sub.JePolozkaSvn == true)
{
MessageBox.Show("verziová");
}
else
{
MessageBox.Show("bezverziová");
}