Accurev Accurev CLI & GUI 常用操作

gua · 发布于 2018年9月30日 · 107 次阅读
55255

转自 gua的笔记 http://blog.leanote.com/post/gua_l/Accurev_CLI-GUI


基本概念

Workspace - Private developer work area.

Stream - Configuration of related elements. Code may be promoted into or inherited from streams.

Depot - Main repository on a server for all related source code.

Snapshot - Static (protected) stream that cannot be moved, renamed, or altered

Stream:代码流,一个代码库的最顶层的stream (top Stream) 便是整个库的初始化stream , 基于top stream 创建 子stream , 子stream 又创建自己的子stream。并且子流创建之初继承父流的目录结构及文件内容。子流可以设置直接接收父流的修改,也可以设置只接收到截止某个时间的父流修改。子流的修改可以通过promote 操作提交到父流,非父子流之间的修改也可以通过merge 进行流动。

Workspace:基于特定流的个人工作空间,通过update 操作可以加载stream 的最新的代码,通过keep 可以把自己的修改保存到工作空间,而不影响其他人,工作空间中kept 的文件可以通过promote 操作提交到stream , 他人可通过update 获取到你的修改。


### Linux client 安装

./AccuRev_6_0_2_LinuxClientOnly_x86_2_4.bin -i console​

安装过程中除了默认enter之外,以下部分需要手动指定输入,请留意

安装路径:/opt/AccuRev

host : xx.xx.xx.xx

port : xxxx


CLI 基础命令

登录

accurev login username password​​

修改密码

accurev chpasswd​ ​

使用acgui ,linux 端的也支持GUI ,使用acgui 与window端 界面及使用一致

acgui​

创建 workspace

accurev mkws -w <workspace> -b <stream​> -l <dir>​

accurev mkws -w test_1 -b TEST -l /vob/lcf/test_1​ ​

以上例子创建出来的workspce 会以用户名为后缀 test_1_username ,可以wsp 里查看信息确认 accurev info​ ​

修改workspce 指向

修改路径,可用于跨服务器挪动​

accurev chws -w <workspace> -l <new_dir>​

修改based stream

accurev chws -w <workspace> -b <new_steam>

重命名

accurev chws -w <workspace> <new_name>

更新workspace

accurev update ​

update 只能往后更新,如果已经更新过的文件本地删了,只能通过pop 找回 。​

暂存文件到个人workspace

accurev keep <filename> -c <comment>

accurev keep -m -c <comment>​​

提交kept 的文件到stream

accurev promote < filename > -c <comment> -I <bug_id>​​

accurev promote -k -c <comment> -I <bug_id>​

查看文件状态

accurev stat -m

accurev stat -k​​

比较文件修改内容

与最近的版本比较(最近版本可以是最新一次keep 版本)

accurev diff <filename>

与base 版本比较

accurev diff -b <filename>​

workspace中删掉或修改的文件重储:

accurev pop -R -O <filename>​

##pop 会重新获取一个最新版本的文件,最新版本指,最近一次update 或keep 的版本。​

检出某个版本的代码,-v 表示 ,-L 表示一个非wsp 的路径,用于存放检出的代码,一个点(表示全部代码)

accurev pop -R -O -v <stream/snapshot> -L /xx/xx .

accurev pop -R -O -v <stream/snapshot> -L /xx/xx depot/mk

accurev pop -R -O -v <stream/snapshot> -L /xx/xx depot/mk/version.mk​

已经keep 的文件弃用:

accurev purge <filename>​​

删除workspace

accurev rm -s <workspace>​

创建snapshot

accurev mksnap -s <snapshot> -b <stream> -t now​

比较两个snapshot 之间的bug list

accurev issuediff -S <snapshot1> -s <snapshot2>​

查看提交历史

accurev hist -t <transation> -k promote -fe

将keep后的文件关联到某个issue

accurev cpkadd -I 123456 get_remote_cm.c​

将某个文件从issue中去除关联

accurev cpkremove -I 123456 get_remote_cm.c​

查看某个issue的关联哪些文件

accurev cpkdescribe -I 123456​

查看自己的工作空间列表

accurev show -a wspaces​

根据transation号找到关联的bugID

accurev hist -t <transation#> -fx | grep issueNum​

查看某个文件中每一行是最谁(u)在哪一刻(t)的提交(transation)的版本(v) : -f(ormat) t u d v

accurev annotate -ftudv file_name

反推文件中这一某一行是由哪个bug、stream 提交的,由annotate 的-ft 得到那一行的transation ID 。根据transation号找到关联的bugID

accurev hist -t <transation#> -fx | grep issueNum​


GUI 基本使用

update

open Workspace 之后, 点击Update。

在outgoing tab 中可以看到各个状态的文件,状态单击可选。

outgoing 中

keep

修改文件后,keep 文件到wsp,并sent to issue与bug关联

open workspace->outgoing->file->右击keep

Sent to issue文件,右击 Sent to issue

Review file

选中文件->右击merge 或ctrl + D 跳出diff 界面

Review Issue

GUI: open issue -->changes tab -->file list --> diff

Promote

promote之前必须确保编译通过

WSP->outgoing->file(kept)->promote->select issue num->ok

Purge

右击revert to backed

Merge

选中文件->右击merge 或ctrl + M 跳出merge 界面

History

acgui -->View Streams --> 右击target_stream -> show history

stream元素版本提交记录

acgui -->View Streams --> 双击target_stream -> target file -->Histroy

stream元素每行提交记录

acgui -->View Streams --> 双击target_stream -> target file --> Annotate


常见问题

1. Update keep 或update 或stat (同理acgui stat)卡死

ps -elf | grep ac |grep <linux_username> | grep tmp

kill -9 以.tmp结尾的,最老的进程

2. keep卡住在某个百分比 ,25%

一般是网络问题导致的卡顿,一般等多10 几分钟就可以。

如果完全僵死,可查看是否是有任务使服务器阻塞:acgui->tools->server task 。

找出在线最长的任务,将些任务的用户session remove。

accurev remove session <user>

3. accurev update :File system error

Update started Scanning entire workspace for files touched since last scan - ok

Checking 114 recently touched files for unanchored modified files -File system error:

boost::filesystem::last_write_time: No such file or directory: "/vob/ws_NFV2_LTE/actmp_0"

在更新的过程中stream的base time 被修改,再执行一次更新便正常

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册