VSS是一个版本控制工具。其操作比较简单,使用方便,又能达到公司的需求,所以VSS在我们公司得到了很好的应用。VSS具体的操作方法请参考《Vss使用指南》。这里只是简单的说明一下对VSS操作的一些规则。
需求
不管是程序源代码,还是资源文件,或者是其他资料,我们总是希望能从VSS中得到最新的版本,并在不需要做任何修改的情况下,在本地可以编译运行。当然,这些资源在VSS服务器上或许不在一个工程(project)下面,很有可能这个工程需要用到的资源,是从另外一个工程应用过来的。所以,要求每一个工程必须有一个资源影射列表。
工程
下面以工程为单位讲述怎样在VSS中管理我们的资源。工程就是一个功能模块。我门已经存在以下一些工程:
$/公司产品/WAP产品目录下的有:
Thirdparty工程:这个工程主要放的是一些第三方包,如APACHE的、SUN的、关于数据库连接的等等。
Ptree工程:这个工程主要放的是公司自己开发的一些包,一般以工程为单位。如COMMON包;以及该工程的一些资源文件。
Project-doc工程:该工程下放的是公司所有的文档。
$/公司产品/WAP产品/代码目录下的有:
Common工程:该工程包含了公司经常需要使用到的一些API已经源代码,还有BUILD工具的公共文件。
资源映射列表
资源映射列表就是描述服务器上的资源文件映射到本地机目录的一个描述文件。
一个工程不可能不可能是独立的,它一定使用到了其他工程的资源。假如没有一个资源映射列表,那么除了这个工程的创建着之外,没有第二个人会知道这个工程需要用到哪些资源文件。虽然,这些资源都可以放到该工程下面,但是这是一种浪费(最主要是硬盘资源的浪费)、并且对以后管理上会造成一种麻烦(如第三方包的升级,假如每个工程都使用自己的第三方包,那么要求升级的时候,很有可能造成某些工程已经使用了新的第三方包,而有些工程却没有使用新的,这样对产品集成的时候,很有可能造成这样或者那样的不必要的麻烦)。
所以,这里的资源映射列表非常重要,每个员工都必须仔细的认真的书写这个资源列表。
下面是资源映射列表的一些列子。
Thirdparty工程的资源映射列表:
$/公司产品/WAP产品/thirdparty e:devthirdparty
是否很简单。因为只有一句话就可以描述清楚了。它的意思就是将VSS服务器上“$/公司产品/WAP产品/thirdparty”目录下的所有文件映射到本地机器的“e:devthirdparty”目录,当执行get latest version操作的时候,就会把工程ThirdParty工程下的文件拷贝到目录e:devthirdparty下。
下面列举一个工程的资源映射列表:
比如有一个工程,他的名字叫demoProject。在服务器上的地址是:$/公司产品/WAP产品/代码/demoProject。那么它的映射列表很有可能是这样的:
$/公司产品/WAP产品/代码/demoProject/… e:devwapdemoProject/…
$/公司产品/WAP产品/thirdparty/jdbc/oracle/class12.jare:devthirdpartyjdbcoracleclass12.jar
$/公司产品/WAP产品/ptree/common/lib/… e:/dev/demoProject/shared/common/lib/…
$/公司产品/WAP产品/代码/common/build/build.sh e:/dev/demoProject/build/build.sh
………………
注意:一般需要描述清楚对哪个文件的映射,而不是整个目录。除非很有必要。上面的…表示对这个目录下的所有文件进行映射。
基本操作