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. AngularJS集成富文本编辑器

    最近在Angular中需要集成富文本编辑器,本来已经集成好百度的UEditor,后台觉得配置太多,让我弄个别的,然后就找到了wangEditor,这个配置和上手都要简单一些,下面来看看具体操作步骤吧: ...

  2. BBS项目分布搭建四(点赞点踩及评论功能准备)

    BBS项目分布搭建四(点赞点踩及评论功能) 1. 点赞点踩样式准备 # 在base.html文件中 head标签内 添加css模块: {% block css %} {% endblock %} # ...

  3. 微信小程序刚注册快速达到1000uv

    一.什么是微信小程序uv ​ UV:是累计独立访问,1个微信号就是一个uv,多次访问不算 ​ 大家想提升微信小程序uv都是为了开通流量主 二.流量主开通标准 ​ 达到1000uv就可以开通:严重违纪不 ...

  4. JavaWeb 11_文件上传

    一.操作步骤 1.要有一个form标签,method=post 请求2.form标签的encType属性值必须为multipart/form-data值3.在form标签中使用input type=f ...

  5. 【混合编程】C/C++调用Fortran的DLL

    [混合编程]C/C++调用Fortran的DLL 以一个简单的加法器为例,介绍C/C++调用Fortran语言DLL的操作过程 一.Fortran操作 1.1 Fortran代码 首先是加法功能的实现 ...

  6. kubernetes集群节点多网卡,calico指定网卡

    kubernetes集群节点多网卡,calico指定网卡 1.calico如果有节点是多网卡,所以需要在配置文件中指定内网网卡 spec: containers: - env: - name: DAT ...

  7. SQL注入之PHP+Mysql

    PHP+Mysql(GET方法+数值型+有错误回显)的注入方法 目标系统:PHP+MYSQL(GET方法+数值型+有错误信息) 环境说明: 后台地址:http://ip/cms/admin/login ...

  8. JSP内置对象(4个作用域)

    9个内置对象: 4个作用域:表示这4个对象可以存值,但取值范围有限定(setAttribute/getAttribute) pageContext request session applicatio ...

  9. tomcat 部署war,umask上传文件后无法通过nginx反向代理访问上传后的文件

    Catalina.sh文件,把umask修改为 0022 即可. 引用:https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html

  10. springboot实现热部署的几种方式

    原理:使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在 ...