在SourceInsight中集成Visual SourceSafe
步骤:编写相应的批处理文件,并添加到SourceInsight的Custom Commands中。
我们在SourceInsight中需要集成以下VSS命令:
1、Check Out单个文件
批处理文件:
@echo off
PATH=%PATH%;D:/Microsoft Visual Studio/Common/VSS/win32
set ssdir=//server/Project
set ssuser=xxxxxx
set sspwd=xxxxxx
ss workfold $/Release/ e:/tmp/
ss Checkout $/Release/%1 -GL%2
@echo on
其中:
D:/Microsoft Visual Studio/Common/VSS/win32为VSS命令行程序ss.exe的路径
ssdir为VSS数据库的路径,就是那个.ini文件的路径
ssuser为VSS的登录用户名
sspwd为VSS的登录密码
ss workfold 设置工作目录。另:如果运行命令时总是提示说 ****已经被设置为工作目录,那可以删除这一行命令,以下相同。
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Check Out,
Run设置为c:/checkout.bat %r %d ,%r单前文件相对工程的路径 %d 当前文件所在目录的路径
Dir不用设置,其他选项都不选。
然后设置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/ e:/tmp/
ss checkin $/Release/%1 -GL%2
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Check In,
Run设置为c:/checkin.bat %r %d
Dir不用设置,选择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/ e:/tmp/
ss undocheckout $/Release/%1 -GL%2
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Undo Check Out,
Run设置为c:/undocheckout.bat %r %d
Dir不设置,其他选项都不选。
然后设置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/ e:/tmp/
ss checkin $/Release/ -R
其中:
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 e:/tmp
ss checkin $/Release/* -R
@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/ e:/tmp/
ss Get $/Release/%1 -GL%2
@echo on
SourceInsight中的设置:
打开Options->Custom Commands,Command选择Sync File to Source Control Project,
Run设置为c:/get.bat %r %d
Dir不设置,其他选项都不选。
然后设置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/ e:/tmp/
ss Get $/Release/* -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,将对单个文件和整个工程
的操作分开,方便使用。