svn 命令行 修改上次提交日志
你看到的这个文章来自于http://www.cnblogs.com/ayanmw
引发此文原因
由于需要使用 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 ,都是修改 属性, 这么记,就好办了~
转载请注明出处:http://www.cnblogs.com/ayanmw 我会很高兴的!
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步