方法:编写相应的批处理文件,并添加到SourceInsight的Custom
Commands中。
我们在SourceInsight中需要集成以下VSS命令:
1、Check Out单个文件
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss Checkout $/Release/test/%1
@echo on
其中:
D:\Microsoft Visual Studio\Common\VSS\win32为VSS命令行程序ss.exe的路径
ssdir为VSS数据库的路径
ssuser为VSS的登录用户名
sspwd为VSS的登录密码
ss Workfold是设置工作目录的命令,$/Release/test/为VSS中项目(工程)的路径,e:\tmp\dev为本地工作目录
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Check Out,
Run设置为c:\checkout.bat %n,%n表示当前文件,注意批处理文件的路径和文件名,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Check Out命令添加到Work菜单,方便使用。
2、Check In 单个文件
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss workfold $/Release/test e:\tmp\dev
ss checkin $/Release/test/%1 -C"modify by xxxxxx at "%3"
"%2
@echo on
其中:
ss checkin命令的选项C表示checkin时填的注释,%3%2与SourceInsight中的命令行配合,
分别等于当前的时间和日期,注意更改自己的名字
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Check In,
Run设置为c:\checkin.bat %n %a %t,%n%a%t分别表示当前的文件、日期、时间,
Dir设置为本地工作目录(同Workfold),选择Save Files First,其他选项都不选。
然后设置Menu,将Check In命令添加到Work菜单,方便使用。
3、Undo Check Out单个文件
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss Undocheckout $/Release/test/%1
@echo on
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Undo Check Out,
Run设置为c:\undocheckout.bat %n,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Undo Check Out命令添加到Work菜单,方便使用。
4、Check Out整个工程
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss Checkout $/Release/test/ -R
@echo on
其中:
ss Checkout命令中的R选项表示recursive,即包含项目的所有子项目(子目录)。
SourceInsight中的设置:
打开Options->Custom Commands,Add一个新命令Check Out All,
Run设置为c:\checkoutall.bat,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Check Out All命令添加到Work菜单,方便使用。
5、Check In 整个工程
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss checkin $/Release/test/* -R -C"modify by xxxxxx"
@echo on
其中:
ss checkin命令中的R选项表示recursive,即包含项目的所有子项目(子目录)。
SourceInsight中的设置:
打开Options->Custom Commands,Add一个新命令Check In All,
Run设置为c:\checkinall.bat,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Check In All命令添加到Work菜单,方便使用。
6、Get Latest Version单个文件
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss Get $/Release/test/%1
@echo on
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Sync File to Source Control
Project,
Run设置为c:\get.bat %n,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Sync File to Source Control Project命令添加到Work菜单,方便使用。
7、Get Latest Version整个工程
批处理文件:
@echo off
PATH=%PATH%;D:\Microsoft Visual Studio\Common\VSS\win32
set ssdir=\\cmserver\Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss Workfold $/Release/test/ e:\tmp\dev
ss Get $/Release/test/* -R
@echo on
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Sync to Source Control
Project,
Run设置为c:\getall.bat,
Dir设置为本地工作目录(同Workfold),其他选项都不选。
然后设置Menu,将Sync to Source Control Project命令添加到Work菜单,方便使用。
另外,建议在SourceInsight的Work菜单中添加Menu Separator,将对单个文件和整个工程
的操作分开,方便使用。