[ SOS ] 版本控制工具 筆記


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

創建文件(夾)

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

Get attribute form SOS objstatus using RegExp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM