设置 CVSROOT 环境变量 或者命令行中指定
# 如: export CVSROOT=:pserver:jiangxin@10.0.0.152:/home/repos-user # 或者: cvs -d :pserver:jiangxin@10.0.0.152:/home/repos-user login |
![]() | 以下的 cvs 命令行示意,都假定已经设置了环境变量 CVSROOT。 |
登录,将密码记录在本地
cvs login # 则口令自动保存在 $HOME/.cvspass 中 # cat $HOME/.cvspass :pserver:releng@10.0.0.61:/lt/repos xxxx :pserver:yzw@10.0.0.61:/lt/repos xxxxx :pserver:yzw@10.0.0.152:/home/repos-user xxx :pserver:jiangxin@10.0.0.61:/repos/home xxxxxx :pserver:jiangxin@10.0.0.152:/home/repos-user xxxxx :pserver:anonymous@10.0.0.152:/home/repos-user xxxxx :pserver:anoncvs@anoncvs1.ca.openbsd.org:/cvs xxxxxx :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs xxxxxxxxx |
查看 CVS 中现有的模块
cvs co -c
# cvs -d :pserver:jiangxin@10.0.0.152:/home/repos-user co -c CVSROOT CVSROOT all-in-one pub/docbook johnson -a jiangxin wuzj wuzj &docbook/ltfw_changes |
将模块 Checkout 到本地
# cvs -d :pserver:jiangxin@10.0.0.152:/home/repos-user co -d johnson_homepage jiangxin |
将:pserver:jiangxin@10.0.0.152:/home/repos-user中的模块 jiangxin CHECKOUT 到本地 johnson_homepage 目录。
本地配置文件
CVS 通过在本地源码目录同时保存配置信息(CVS目录)来记录源文件的版本等
# pwd /home/jiangxin/work/johnson_homepage # ls -l CVS total 14 -rw-r--r-- 1 root jiangxin 4786 Sep 5 10:32 Entries -rw-r--r-- 1 root jiangxin 9 Jul 23 10:01 Repository -rw-r--r-- 1 root jiangxin 43 Jul 23 10:01 Root # cat CVS/Repository jiangxin # cat CVS/Root :pserver:jiangxin@10.0.0.152:/home/repos-user |
下面以我们自己,(最早由杨致伟封装,后经 Johnson 改写),封装的 Starteam 命令行 Wrapper 为例作以介绍:
用 st config 进行配置
# cd /home/jiangxin/work/src/project
# mkdir branch1
# cd branch1
# pwd
/home/jiangxin/work/src/project/branch1
# st config
StarTeam Configuration
Original starteam server is 10.0.0.60
new server:[10.0.0.60]
Original starteam server port is 49201
new server port:[49201]
original username is
new username:[]jiangxin
Password:[********]
Confirm :[********]
Original checkout project is project
Project you want to checkout:[project]
Original checkout view is ("/" means root view)
View you want to checkout:[]branch_2_4
Original checkout folder is ("/" means root folder)
Folder you want to checkout:[]Development
Working dir is /usr/home/jiangxin/work/src/project/branch1
Your working directory:[/usr/home/jiangxin/work/src/project/branch1]
Sticky tag base on date : ("/" means not exist)
Date:[]
Sticky tag base on label : ("/" means not exist)
Label:[]
Sticky tag base on promotion-state : ("/" means not exist)
Promotion-state:[]
# cat .starteam.ini
# StarTeam Configuration: /usr/home/jiangxin/work/src/project/branch1/.starteam.ini
# /usr/home/jiangxin/work/src/project/branch1/.starteam.ini
STUSER="jiangxin"
STSERVER="10.0.0.60"
STPORT="49201"
STPROJECT="project"
STVIEW="branch_2_4"
STFOLDER="Development"
STCFGD=""
STCFGL=""
STCFGP=""
STWORKROOT="/usr/home/jiangxin/work/src/project/branch1"
|
用户登录口令保存在用户主目录下
用 st config 配置完成,或者用命令 st login 登录后,用户口令自动保存在 $HOME/.stpass 中
# cat $HOME/.stpass releng:10.1.1.60:49201:xxxxxxxxxxxxxxxx jiangxin:10.1.1.60:49201:xxxxxxx jiangxin:10.0.0.6:49201:xxxxxxxx |
将代码 Checkout 到本地
# pwd /home/jiangxin/work/src/project/branch1 # st co Folder: Development (working dir: /usr/home/jiangxin/work/src/project/branch1) Makefile: checked out ....... |
将配置文件 .starteam.ini 文件指定的视图下的文件,Checkout 到本地
![]() | 如果不想将全部模块 Checkout 到本地,可先运行命令 st cd ,将整个目录结构 Checkout 到 本地,然后再运行 st co directory,只 checkout 该目录。 |
本地配置文件
STARTEAM 不是像 CVS 那样,在本地源码目录同时保存配置信息(CVS目录)来记录源文件的版本等, 而是直接保存在服务器的数据库中。而该数据库通过主机ID,来区分不同/相同用户在同一/不同主机 中 CHECKOUT 文件的路径等信息。
命令行用 $HOME/.starteam 保存主机ID等配置信息。图形界面类似。
starteam cli wrapper 另外需要配置文件: .starteam.ini,因为命令行没有提供简单的读取服务器端 数据库的方法。