Install
openclaw skills install svn-toolSubversion (SVN) 代码版本控制工具。使用 svn CLI 进行检入、检出、更新、提交、查看日志等操作。当用户需要与 SVN 仓库交互时触发此技能。
openclaw skills install svn-tool提供完整的 Subversion (SVN) 版本控制功能,包括:
使用前需确保:
svn CLI 工具(Subversion)--username/--password 或密钥环)检查 SVN 是否可用:
svn --version
从 SVN 仓库检出代码到本地:
svn checkout <repository-url> [local-path]
svn co https://example.com/svn/project/trunk my-project
常用选项:
--depth empty/folders/immediates/infinity:控制检出深度--non-interactive:非交互模式--trust-server-cert:信任服务器证书同步最新代码:
svn update
svn up
svn up --revision 1234 # 更新到特定版本
svn up --merge # 自动合并冲突
将本地更改提交到仓库:
svn commit -m "提交消息"
svn ci -m "修复了登录页面的 bug"
svn ci --revprop -r HEAD -m "修改最后一条提交信息"
提示:
svn status 查看变更-F file.txt 从文件读取提交信息--with-revprop 添加自定义属性检查工作副本的变更状态:
svn status
svn st
svn status --verbose # 详细模式
svn status --show-updates # 显示需要更新的文件
svn status --no-ignore # 显示忽略的文件
状态代码说明:
(空格):未变更M:内容已修改A:已添加D:已删除R:已替换C:冲突?:未跟踪的文件查看提交历史:
svn log
svn log -r HEAD:1 # 反向显示
svn log -r 1000:1100 # 指定版本范围
svn log --limit 10 # 限制显示数量
svn log --verbose -r 1234 # 显示该版本的变更文件
svn log --search keyword # 搜索提交信息
将新文件添加到版本控制:
svn add filename.txt
svn add --force new-folder/ # 递归添加
svn add *.js # 通配符添加
从版本控制中移除文件:
svn delete filename.txt
svn del folder/ # 删除文件夹
svn delete --keep-local filename.txt # 保留本地文件
在仓库内复制或移动文件:
svn copy src/file.txt dest/file.txt -m "复制文件"
svn mv old-name.txt new-name.txt -m "重命名文件"
svn cp ^/trunk/feature ^/branches/feature-v2 -m "创建分支"
查看文件变更内容:
svn diff
svn diff filename.txt
svn diff -r 1000:1001 # 比较两个版本
svn diff --summarize # 仅显示变更列表
svn diff -x -w # 忽略空白字符
处理合并冲突:
svn resolve --accept working filename.txt # 使用本地版本
svn resolve --accept theirs filename.txt # 使用仓库版本
svn resolve --accept mine-full filename.txt # 完整使用本地版本
svn resolve --accept theirs-full filename.txt # 完整使用仓库版本
svn resolved filename.txt # 标记冲突已解决
切换到不同的分支或标签:
svn switch ^/branches/feature-x
svn switch --relocate new-repo-url # 重新定位仓库 URL
查看工作副本或文件的详细信息:
svn info
svn info filename.txt
svn info --show-item revision # 仅显示版本号
svn info --show-item url # 仅显示 URL
撤销本地未提交的更改:
svn revert filename.txt
svn revert --recursive . # 还原所有更改
svn revert -r HEAD filename.txt # 还原到最新版本
修复工作副本锁或中断的操作:
svn cleanup
svn cleanup --remove-unversioned # 同时删除未版本化文件
svn cleanup --remove-stuck # 移除卡住的锁
svn statussvn diffsvn update# 创建功能分支
svn copy ^/trunk ^/branches/feature-login -m "创建登录功能分支"
# 切换到分支
svn switch ^/branches/feature-login
# 开发完成后合并回主干
svn merge ^/branches/feature-login
svn commit -m "合并登录功能到主干"
# 删除分支
svn delete ^/branches/feature-login -m "删除已完成的功能分支"
在项目根目录创建 .svnignore 或在 svn propedit svn:ignore 中设置:
*.log
*.tmp
node_modules/
dist/
.DS_Store
*.swp
应用忽略规则:
svn propset svn:ignore -F .svnignore .
svn commit -m "设置忽略规则"
SVN_AUTH_CACHE:认证缓存路径SVN_CONFIG_DIR:配置文件目录SVN_EDITOR:默认编辑器A: 使用 --username 和 --password 参数,或配置 ~/.subversion/auth/ 目录
A: svn log -v filename.txt
A:
svn list -v ^/path/to/file@PREV
svn copy ^/path/to/file@PREV ./filename.txt
svn add filename.txt
svn commit -m "恢复误删的文件"
A: svn list https://example.com/svn/project/
file-manager:文件管理辅助