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á"); }