Ако треба да приступите Субверзијиној ревизиојиној информацији из других програма, можете користити ЦОМ интерфејс SubWCRev. Објекат који се креира је SubWCRev.object
, и следећи методи су подржани:
Табела 6.4. ЦОМ/аутоматизација методе подржане
Метод | Опис |
---|---|
.GetWCInfo | Овај метод прелази радну копију сакупљајући ревизионе информације. Природно морате ово позвати пре него приступите информацијама користећи преостале мотоде. Први параметар је путања. Други параметар треба да буде истинит ако желите да укључите ревизију фолдера. Еквивалент са -ф прекидачима командне линије. Трећи параметар треба да буде истина ако желите да укључите svn:externals. Еквивалент са -е прекидачима командне линије. |
.GetWCInfo2 | Исто као GetWCInfo() али са четвртим параметром који се подешава исто као -E прекидач командне линије. |
.Revision | Највиша урезана ревизија у радној копији. Еквивалент са $WCREV$ . |
.Date | Урезивање датм/време највише урезане ревизије. Еквивалент са $WCDATE$ . |
.Author | Аутор највише урезане ревизије, то је, последња особа која је урезала измене у радну копију. |
.MinRev | Минимум обновљена ревизија, као што је приказано у $WCRANGE$ |
.MaxRev | Максимум обновљена ревизија, као што је приказано у $WCRANGE$ |
.HasModifications | Тачно ако постоји локална измена |
.HasUnversioned | Истина ако постоје неверзионисане ставке |
.Url | Замењено са спремиштем УРЛ путање радне копије коришћене у GetWCInfo . Еквивалент са $WCURL$ . |
.IsSvnItem | Истина ако је ставка верзионисана. |
.NeedsLocking | Истина ако ставка има svn:needs-lock подешену особину. |
.IsLocked | Истина ако је ставка закључана. |
.LockCreationDate | Стринг који репрезентује датум када је катанац креиран, или празан стринг ако ставка није закључана. |
.LockOwner | Стринг који рпрезентује власника катанца, или празан стринг ако ставка није закључана. |
.LockComment | Порука унета када је катанац креиран. |
Следећи пример приказује како интерфејс може да се користи.
// testCOM.js - javascript file // test script for the SubWCRev COM/Automation-object 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 = "Revision = " + revObject1.Revision + "\nMin Revision = " + revObject1.MinRev + "\nMax Revision = " + revObject1.MaxRev + "\nDate = " + revObject1.Date + "\nURL = " + revObject1.Url + "\nAuthor = " + revObject1.Author + "\nHasMods = " + revObject1.HasModifications + "\nIsSvnItem = " + revObject1.IsSvnItem + "\nNeedsLocking = " + revObject1.NeedsLocking + "\nIsLocked = " + revObject1.IsLocked + "\nLockCreationDate = " + revObject1.LockCreationDate + "\nLockOwner = " + revObject1.LockOwner + "\nLockComment = " + revObject1.LockComment; wcInfoString2 = "Revision = " + revObject2.Revision + "\nMin Revision = " + revObject2.MinRev + "\nMax Revision = " + revObject2.MaxRev + "\nDate = " + revObject2.Date + "\nURL = " + revObject2.Url + "\nAuthor = " + revObject2.Author + "\nHasMods = " + revObject2.HasModifications + "\nIsSvnItem = " + revObject2.IsSvnItem + "\nNeedsLocking = " + revObject2.NeedsLocking + "\nIsLocked = " + revObject2.IsLocked + "\nLockCreationDate = " + revObject2.LockCreationDate + "\nLockOwner = " + revObject2.LockOwner + "\nLockComment = " + revObject2.LockComment; wcInfoString3 = "Revision = " + revObject3.Revision + "\nMin Revision = " + revObject3.MinRev + "\nMax Revision = " + revObject3.MaxRev + "\nDate = " + revObject3.Date + "\nURL = " + revObject3.Url + "\nAuthor = " + revObject3.Author + "\nHasMods = " + revObject3.HasModifications + "\nIsSvnItem = " + revObject3.IsSvnItem + "\nNeedsLocking = " + revObject3.NeedsLocking + "\nIsLocked = " + revObject3.IsLocked + "\nLockCreationDate = " + revObject3.LockCreationDate + "\nLockOwner = " + revObject3.LockOwner + "\nLockComment = " + revObject3.LockComment; wcInfoString4 = "Revision = " + revObject4.Revision + "\nMin Revision = " + revObject4.MinRev + "\nMax Revision = " + revObject4.MaxRev + "\nDate = " + revObject4.Date + "\nURL = " + revObject4.Url + "\nAuthor = " + revObject4.Author + "\nHasMods = " + revObject4.HasModifications + "\nIsSvnItem = " + revObject4.IsSvnItem + "\nNeedsLocking = " + revObject4.NeedsLocking + "\nIsLocked = " + revObject4.IsLocked + "\nLockCreationDate = " + revObject4.LockCreationDate + "\nLockOwner = " + revObject4.LockOwner + "\nLockComment = " + revObject4.LockComment; WScript.Echo(wcInfoString1); WScript.Echo(wcInfoString2); WScript.Echo(wcInfoString3); WScript.Echo(wcInfoString4);
Следећи пример приказује како интерфејс може да се користи СубВЦРев ЦОМ објекат из Ц#:
using LibSubWCRev; SubWCRev sub = new SubWCRev(); sub.GetWCInfo("C:\\PathToMyFile\\MyFile.cc", true, true); if (sub.IsSvnItem == true) { MessageBox.Show("versioned"); } else { MessageBox.Show("not versioned"); }