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

soscmd

创建工作区

soscmd newworkarea $serverName $projectName [$path]
  • 常用这种
soscmd newworkarea SERV1 PRJ1 -here -lmian -LCACHED

在当前路径下,启用cache,创建 SERV1服务器 PRJ1项目 main分支 的工作区

populate

populate 当前整个工作区

soscmd populate .

更新当前工作区

soscmd update

branch

查看当前 branch

soscmd query rso

查看所有 branch

soscmd query $Server $project branches

切换 branch

soscmd update -l$branchName
soscmd update -l$branchName -rso

创建文件(夹)

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

.bashrc

export CLIOLMD_LICENSE_FILE <LICENSEINFO>
export CLIOSOFT_DIR "/opt/eda/cliosoft/SOS"
export PATH $CLIOSOFT_DIR/bin:$PATH
export GDM_USE_SHLIB_ENVVAR 1
export LD_LIBRARY_PATH $CLIOSOFT_DIR/lib:$CLIOSOFT_DIR/lib/64bit:$LD_LIBRARY_PATH

Virtuoso 集成

setup_cds_libmgr_menu

.cdsinit

loadi(strcat(getShellEnvVar("CLIOSOFT_DIR") "/scripts/cds_sosviadfII.il"))

cdsLibMgr.il

loadi(strcat(getShellEnvVar("CLIOSOFT_DIR") "/scripts/cdsLibMgr.il"))

提取参数

  • 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;
}

[ SOS ] 版本控制工具 笔记的更多相关文章

  1. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  2. 版本控制工具--svn和git的使用(二) -----SVN的操作

    SVN的使用 开头: 对于svn的详解,我不是很熟,只是用过svn的客户端,没使用过服务端,在这里我只是简单说一下在svn的客户端怎么拉取代码,提交代码和修改冲突等等.svn的客户端我在Mac中用的s ...

  3. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  4. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  5. 版本控制工具比较-CVS,SVN,GIT

    首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...

  6. 最好用的Unity版本控制工具

    自从来到现在的公司,负责Unity组开发以来,尝试了各种版本控制工具.从一开始的TortoiseSVN,到后来为了追求逼格使用Git,尝试了Github客户端和SourceTree,发现都有各种不爽. ...

  7. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

  8. 【Java EE 学习 43】【SVN版本控制工具】【CVS版本控制工具】

    一.SVN SVN服务器下载地址:https://subversion.apache.org/ 1.什么是版本控制:版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程.是一种记录若 ...

  9. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

随机推荐

  1. php ajax 修改,删除,添加(学做)

  2. ElasticSearch安装 --- windows版

    文件下载地址: 链接:https://pan.baidu.com/s/1_Cy_Sy1-vOvsUxliM-EZHQ 提取码:qpcv 定义: Elasticsearch 是一个分布式的搜索和分析引擎 ...

  3. React学习小结(一)

    一.React的发展 facebook在构建instagram网站的时候遇见两个问题: 1.数据绑定的时候,大量操作真实dom,性能成本太高 2.网站的数据流向太混乱,不好控制 于是facebook起 ...

  4. 报错 ———— Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

    报错 <?xml version="1.0" encoding="UTF-8"?>  必须是XML文件的第一个元素且前面不能空格. ### Erro ...

  5. vue学习过程总结(03) - 菜鸟教程归纳

    1.模板语法 1.1.文本插值,数据绑定.{{}},如: <p>{{ message }}</p> 1.2.输出HTML代码.v-html,如: <div v-html= ...

  6. 项目构建工具之maven01

    Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理.Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目.Maven 曾是 Jakar ...

  7. FrameScan-GUI CMS漏洞扫描

    工具简介 FrameScan-GUI是一款python3和Pyqt编写的具有图形化界面的cms漏洞检测框架,是FrameScan的加强版.支持多种检测方式,支持大多数CMS,可以自定义CMS类型及自行 ...

  8. 有标号DAG计数(生成函数)

    有标号DAG计数(生成函数) luogu 题解时间 首先考虑暴力,很容易得出 $ f[ i ] = \sum\limits_{ j = 1 }^{ i } ( -1 )^{ j - 1 } \bino ...

  9. 关于.NET 6.0 Crossgen2的一些研究

    NET 6.0引入了Crossgen工具的后续版本Crossgen2,这个工具提供了程序提前(AOT)编译的能力. 什么是CrossGen? 我们日常开发时使用C#编译器CSC编译一个.NET程序集, ...

  10. 数据结构 - 单链表 C++ 实现

    单链表 单链表的定义 typedef int ElemType; typedef struct LNode { ElemType data; LNode *next; } LNode, *LinkLi ...