如何在C#中用TortoiseSVN的COM组件接口读取Subversion工作副本的状态
在TortoiseSVN客户端中提供了一个SubWCRev的程序,它是Windows的命令行工具,可以阅读Subversion工作副本的状态,可以在模版中随意执行关键字替换。详细使用可以参见TortoiseSVN Help。5.1. The SubWCRev Command Line。
这里要说明的是具体5.4. COM interface如何操作。
先附上SubWCRev程序的使用指南。
SubWCRev是Windows的命令行工具,可以阅读Subversion工作副本的状态,可以在模版中随意执行关键字替换。这通常是构建过程的一部分,将工作副本信息结合到创建的对象当中。通常情况下,可能是用来将修订版本号存入“关于”窗口。SubWCRev 命令行
SubWCRev阅读工作副本中所有文件的状态,缺省会忽略外部引用。它记录到的最高修订版本号,以及那个修订版本的提交时间戳,它也会记录在本地工作副本是否有修改,或混合的修订版本。修订版本号码,更新修订版本范围和修改状态会显示在标准输出。
<从命令行或脚本中运行,使用命令行参数控制。
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe] WorkingCopyPath是要检查的工作副本路径,你可以只对工作副本使用SubWCRev,而不是直接对版本库,这个路径可以是绝对路径,也可以是工作目录的相对路径。
char *Mixed    = "$WCMIXED?Mixed revision WC:Not mixed$";
char *URL      = "$WCURL$";
#if $WCMODS?1:0$
#error Source is modified
#endif
// EndOfFile
<运行完之后,输出文件类似:
// Test file for SubWCRev
char *Revision = "3701";如何下载javascript
char *Modified = "Modified";
char *Date    = "2005/06/15 11:15:12";
char *RevRange = "3699:3701";
char *Mixed    = "Mixed revision WC";
char *URL      =
"/svn/tortoisesvn/trunk/src/SubWC Rev";
#if 1
#error Source is modified
#endif
// EndOfFile
COM interface
If you need to access Subversion revision information from other programs, you can use the COM interface of SubWCRev. The object to create
is SubWCRev.object, and the following methods are supported:
Table 5.4. COM/automation methods supported
Method
.GetWCInfo This method traverses the working copy gathering the revisio ng the remaining methods. The first parameter is the path. T
t to the -f command line switch. The third parameter should h.
.GetWCInfo2The same as GetWCInfo() but with a fourth parameter that se .Revision The highest commit revision in the working copy. Equivalent .Date The commit date/time of the highest commit revision. Equival .Author The author of the highest commit revision, that is, the last .MinRev The minimum update revision, as shown in $WCRANGE$
.MaxRev The maximum update revision, as shown in $WCRANGE$
.HasModifications True if there are local modifications
.HasUnversioned True if there are unversioned items

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。