Manuals

COM rozhranie

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ódaPopis
.GetWCInfoTá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.
.GetWCInfo2Rovnaké ako GetWCInfo() ale so štvrtým parametrom, ktorý nastavuje ekvivalent k prepínaču príkazového riadku -E.
.RevisionNajvyššia odovzdaná revízia v pracovnej kópii. Zhodná s $WCREV$.
.DateDátum/čas odovzdania najvyššej odovzdanej revízie. Ekvivalent pre $WCDATE$.
.AuthorAutor najvyššej revízie odovzdania, to znamená, posledný človek, ktorý sa odovzdal zmeny v pracovnej kópii.
.MinRevMinimálna revízia aktualizácie, ako je uvedené v $WCRANGE$
.MaxRevMaximálna revízia aktualizácie, ako je uvedené v $WCRANGE$
.HasModificationsTrue, ak existujú miestne úpravy
.HasUnversionedTrue, ak existujú bezverziové položky
.UrlNahradené s URL úložiska cesty pracovnej kópie použitej v GetWCInfo. Ekvivalent $WCURL$.
.IsSvnItemTrue, ak je položka verziová.
.NeedsLockingTrue, ak má položka nastavenú vlastnosť svn:needs-lock.
.IsLockedTrue, ak je položka uzamknutá.
.LockCreationDateReťazec predstavujúci dátum, kedy bol zámok vytvorený, alebo prázdny reťazec, ak položka nie je uzamknutá.
.LockOwnerReťazec predstavujúci vlastníka zámku, alebo prázdny reťazec, ak položka nie je uzamknutá.
.LockCommentSprá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á");
}

TortoiseSVN homepage