svn笔记
文件集合
文件集合的作用是,给文件划入集合后,可以指定某集合为操作目标,而不用重复地传入文件
- 将文件YOUR_FILE划入集合YOU_CLNAME
svn changelist YOU_CLNAME YOUR_FILE
- 提交集合YOU_CLNAME下的文件
svn commit --changelistYOU_CLNAME
- 差异比较集合YOU_CLNAME下的文件
svn diff --changelist LISTNAME
基于diff以文件为单位的打包
在$YOUR_ROOT
svn工程,从$SRC_VERSION
到$DST_VERSION
的内容进行差异打包
svn diff -r $SRC_VERSION:$DST_VERSION --summarize --username $USR --password $PSW --no-auth-cache |grep "^[AUM]" | awk '{print \$2}'| xargs -I {} cp --parents "{}" $YOUR_ROOT
基于patch差异内容的打包
svn patch -pN
这里的N表式路径的层级,假设当前目录是在trunk,而文件utils.luas有本地修改
trunk
+ bin
- svr_gateway
+ script
+ common
- utils.lua
+ gatewary
+ data
+ config
- 当
-p0
时,导出信息Index: script/common/utils.lua
- 当
-p1
时,导出信息Index: common/utils.lua
忽略提交文件
在~/.subversion/config
启用配置global-ignores
,并添加需要的忽略规则,如下
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
vimdiff
先已安装vimdiff
Debian: apt install -y vim
cat >> ~/vim_diff.sh<< EOF
#!/bin/sh
/usr/bin/vimdiff ${6} ${7}
EOF
~/.subversion/config添加如下配置
diff-cmd = ~/vim_diff.sh
merge-tool-cmd = ~/vim_diff.sh
基本操作
查看日志
- 查看最近
-l $YOUR_N
条日志的-v
详细信息svn log -l $YOUR_N -v
比较差异
- 比较目标文件$YOUR_FILE与本地的差异
svn diff $YOUR_FILE
- 比较目标文件
$YOUR_FROM
历史版本与$YOUR_TO
历史版本的差异。可通过log查看文件历史版本号svn diff -r$YOUR_FROM:$YOUR_TO
- 版本
$YOUR_VERSION
与前一个版本比较svn diff -c $YOUR_VERSION
提交
- 以
$YOUR_MSG
提交$YOUR_FILE文件svn commit -m "$YOUR_MSG" $YOUR_FILE
- 显示冲突文件
svn st | grep ^C & svn st | grep -E '^.{6}C'
- 删除冲突文件
svn st | grep -E '^.{6}C' | awk '{print $3}' | xargs -d'\n' -I {} svn del --force {}
- 显示代码、场景、预制件、配置表
svn st | grep -E '*.cs$|*.prefab$|*.unity$|*.xml$|*.txt$|*.txt$|*.csv$'
- 删除untrack文件
svn st | grep '^?' | awk '{print $2}' | xargs rm -rf
还原
- 回滚到指到的
$YOUR_VERSION
版本svn merge -r $YOUR_VERSION
- 指定
$FROM_VERSION
到$TO_VERSION范围回滚svn merge -r $FROM_VERSION:$TO_VERSION
报错处理
- Checksum mismatch
本地与服务端校对信息不匹配,通过以下指令强刷新冲突
svn update --set-depth empty svn update --set-depth infinity svn revert -R .
- 删除所有miss状态的文件
svn st | grep ^! | awk '{print " --force "$2}' | xargs svn rm
原文:
https://lizijie.github.io/2024/12/25/svn%E7%AC%94%E8%AE%B0.html
作者github:
https://github.com/lizijie
PREVIOUS杂谈
NEXTlocust游戏压测示例