前言
本帖主要是记录个人使用svn指令时,遇到的问题以及解决方法,如有纰漏,烦请指出。
1. 安全问题
问题描述
使用参数指令拼接的方式去执行svn指令, 使用ps aux等指令查看进程信息,会有账号密码泄漏的风险
改进思考
能否通过别的方式传输或者读取密码?
于是有了下面的可能的解决方案:
- 指令参数中指定参数来源的文件路径(即通过读取文件来获取密码参数,甚至其他更多参数)
- 通过流的形式传输密码
改进实施
经过一番的查阅文档,未能找到从文件读取的参数或者方法,而且把密码存放于文件中,也是有风险的,故放弃上述的解决方案1。
同时,发现svn的command是支持--password-from-stdin
参数,然后通过流的形式传输密码,但是对svn的command有版本的要求,只有1.10.0以上的才支持该参数。
2. SVN提交失败 can’t open file‘/var/svn/repository/txn-current-lock’ 拒绝访问
解决办法: 把/var/svn/repository
目录下的所有文件和子目录添加读写权限
chmod –R o+rw /var/svn/repository
问题解决
3. 其他参数或配置说明
参数 | 说明 | 使用范围 |
---|---|---|
--xml | 指令执行结果以xml格式输出 | 全部 |
--summarize | 仅列出文件和改动类型 | svn diff |
--extensions -U【数字】 | 查看差异时,支持显示除差异外的更多行数, 默认是3,U和数字中间没有空格 | svn diff |
--diff | 查看日志时,支持查看文件差异 | svn log |
--change | 常看某一版本的改动,默认对比该版本和上个版本 | 大部分svn指令都支持 |