您的位置:首页 > 其它

[ SOS ] 版本控制工具 笔记

2021-09-13 23:30 661 查看

https://www.cnblogs.com/yeungchie/

soscmd

创建工作区

soscmd newworkarea $serverName $projectName [$path]

populate

populate 当前整个工作区

soscmd populate .

更新当前工作区

soscmd update

创建文件(夹)

soscmd create $fileName

checkout

soscmd co $fileName

checkin

soscmd ci $fileName
soscmd ci $fileName -aLog='type some logs'  # 同时输入一些日志 便于批处理

取消 checkout

soscmd disc $fileName
soscmd disc -F $fileName  # 强制取消 用于对文件有改动时

获取文件历史记录

soscmd history $fileName

工作区对象 选择/状态

选择 select

soscmd select [ -opts ] [ $fileName ]

状态 status

  • 获取本地工作区的
soscmd status [ -opts ] [ $fileName ]

opts ...

  • sco 被当前工作区 checkout 的对象
  • scm 被当前工作区 checkout 并修改 的对象
  • scnm 被当前工作区 checkout 未改动 的对象
  • slk 被其他工作区或其他用户 checkout 的对象
  • snt 当前工作区需要 update 的对象
  • sp 当前工作区已经 populate 的对象
  • sunp 当前工作区未 populate 的对象
  • sne 当前工作区需要 populate 但缺失的对象
  • snvp 当前工作区标记 never populate 的对象
  • sunm 饭前工作区不存在 SOS 仓库中的文件 ( 仅用于 select 命令 )
  • sall 所有对象
  • sor 指定多个选项的判断条件为 OR
  • sor 指定多个选项的判断条件为 AND

对象状态

objstatus / nobjstatus

  • 获取远程仓库的 这两个的主要区别在于返回数据是 单行/多行 的形式

sosadmin

获取所有 server 名字

sosadmin list

获取 server 所有 project 名字

sosadmin projects $serverName

启动一个 server

sosadmin startup $serverName

关闭一个 server

sosadmin shutdown $serverName

install

Virtuoso 集成

setup_cds_libmgr_menu

提取参数

  • Get SOS objstatus parameter by attribute name with RegExp
# example
my $path = '.';
my $attr = 'WaRoot';
my $obj = `soscmd objstatus -gaAll $path`;
$obj =~ s/}\s+{/}  {/g;
if($obj =~ /{$attr\s+({?\S+(\s?\S+)*}?)}/){
my $value $1;
$value =~ s/^{|}$//g;
return $value;
}
else{
return $value;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: