标签:svn log -- 修改 命令行 revprop 日志 change
引发此文原因
由于需要使用 jenkins 配合shell 脚本来做一些 和svn 相关的处理, 而svn 不支持 类似git 的tag,而用svn copy 的方式太low,也不方便直接在 svn log 中体现出来.
所以 我想 直接修改 svn
的 上次提交的log
信息,类似 git commit --ammend
,但是一般windows下用的TortoiseSVN
可以直接修改,但是 svn 命令行如何修改呢?
百度了一下,居然都是复制粘贴, 许多上来就是:
1、将版本库repos/hooks/pre-revprop-change.tmp修改成pre-revprop-change
2、为pre-revprop-change加上执bai行权限:使用命令duchmod +x
3、修改pre-revprop-change
这不是我关心的,我当然已经配置过了的.我需要知道的是svn命令行如何修改.
所以,正确答案是?
先说 svn 查看 最近一条 svn log 的命令:
svn pget -r33848 --revprop svn:log |iconv -f GB2312 -t UTF-8
上面的 -r后面的数组是 最近的修改版本号,不知道为什么,我无法用 HEAD^1
或者 COMMITED
,PREV
来表达最近的一个log (而且是基于当前svn目录的,不知全局的),如果只能通过 svn info
来获取了
rev=`LANG=en_US.UTF-8 svn info|iconv -f GB2312 -t UTF-8|grep "Last Changed Rev: "|cut -d ':' -f 2-|awk '{$1=$1};1'`
svn 修改指定版本的svn log的命令
svn propedit
是调用文本编辑器, 等待编辑结束 提交的
set SVN_EDITOR=notepad.exe
svn propedit -r33848 --revprop svn:log [SVN_URL]
svn propset
是直接通过命令行设置的, 设置的文本需要自己提取之前的文本,修改补充的.
svn propset -r33848 --revprop svn:log "new log message" URL
总结
svn 的属性包括两种,
一个是 仓库级别的,目录属性(包括递归获得的属性)
一个是 提交级别的,仅仅限于svn的一次commit提交
所以 svn 修改 log 或者author ,都是修改 属性, 这么记,就好办了~
标签:svn,log,--,修改,命令行,revprop,日志,change 来源: https://www.cnblogs.com/ayanmw/p/13725657.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。