最近在项目开发和管理过程中使用VSS 经常需要重复建立例似的文件夹,修改的source要抓取differents文档,使用手动建立和抓去diff文档比较费时,使用vss命令行作成批处理或者编写一些小工具还是比较方便的.
首先要运行vss的命令行当然要安装vss,其次是要让控制台找到vss的ss命令
1、设置环境变量
Path=%path%;C:/Program Files/Microsoft Visual Studio/VSS/Win32
如果要开发小工具也可以将VSS中的ss.exe和相应的dll文件拷贝出来。
2、指定VSS数据库目录,即ini文件所在目录
set ssdir=//机器名或者IP/VSS共享目录
如:set ssdir=//freefly/VSS
3、登陆VSS
ss cp –Yfreefly, f12345 –I-
-Y后没有空格,登陆后就可以对VSS进行操作了
4、指定当前VSS项目目录
ss cp $/root/prj001
ss命令中,/表示VSS的当前目录,$/表示根目录
5、向VSS中添加文件
(01)ss add class1.java class2.java ,把class1.java class2.java
将两个文件添加到当前项目;
(02)ss add -r *
把当前目录的所有文件及文件夹(包括子文件夹、文件)添加到当前项目;
(03)ss add -d- *.java
添加当前目录的所有DLL文件到当前项目,但不保留VSS上的历史文件(以节省空间);
(04)ss checkout class1.java class2.java
checkout当前项目中的两个文件
(05)ss checkout $/prj001/ class1.java
checkout指定项目中的文件
(06)ss checkout -r $/prj001
循环check项目$/prj001
(07)ss comment class1.java -v5
改变class1.java的版本号为5的版本注释
(08)ss comment class1.java
改变class1.java的最新版本的注释
(09)ss comment $/prj001
改变项目$/prj001的注释
(10)ss Create $/ prj002
VSS的根目录下,创建项目WORD
(11)ss Create prg001
VSS的当前目录下,创建项目WORD
(12)ss cp $/prj001
设置$/ prj001为Current Project
(13)ss cp ..
跳转到当前项目的父项目
(14)ss delete $/prj001/class1.java
删除文件class1.java (delete命令删除的文件,可以用直接add命令回复,如add class1.java)
(15)ss delete $/prj001
删除项目 (不可以有两个同名的文件被(16)delete,因为没有真正删除)
(17)ss -s delete *.*
删除所有文件,-s表示删除VSS上的文件之后,删除本机文件
(18)ss destroy $/prj001/ class1.java
持久删除文件(不可恢复)
(19)ss destroy $/prj001
持久删除项目
(20)ss history $/prj001/class1.java –o@c:/class1.history
将class1.java的所有版本信息保存到本地c盘class1.history文件
(21)ss diff $/prj001/class1.java –v1~2 –bs –DX500 –o@c:/class1_01-02_diff.txt
将class1.java第一版和第二版source的不同点写入class1_01-02_diff.txt文件中,500为写入文件的行宽,即500个字符。
(22)其他更改操作:
label,merge,move,password,purge,recover,rename,rollback,share,undocheckout,workfold,branch等命令,这些命令会改变VSS数据库的内容或者环境。
(23)VSS命令行中的比较/查找/显示等不改变数据库和环境的命令:diff,dir,FileType,Get,help,history,links,paths,project,properties,status,view,whoami
注意:
vss命令行是大小写不敏感的;命令行中的命令不需要全名,同sql一样,只要是可以识别的名字及可,如Dir就是directory的缩写;(遵守UNC通用命名规则,Universal Naming Convention)命令中有空格时,用双引号括起整个选项