我需要配置一个提交后挂钩,它会将重命名操作标识为电子邮件中的重命名。
值得关注的是,我们能够将它们识别为删除和删除。添加操作,但我们需要将其作为单个重命名操作。
移动操作也是如此,内部视为复制/删除操作。
有关svn属性可用于此目的的任何帮助将不胜感激。
答案 0 :(得分:0)
在post-commit hook中你有两种可能性
选择1
解析普通svn log
的输出以进行提交修订
>svn log -v -q -r HEAD
------------------------------------------------------------------------
r3 | Badger | 2014-05-16 10:46:29 +0600 (Пт, 16 май 2014)
Changed paths:
D /trunk/A.txt
D /trunk/B.txt
A /trunk/C.txt (from /trunk/A.txt:2)
A /trunk/D.txt
------------------------------------------------------------------------
(此处A.txt使用svn mv
重命名为C.txt,B.txt仅使用OS命令移入D.txt)
选择1
因为它是存储库端操作,所以使用svnlook
(更紧凑,无噪音的输出)
>svnlook changed --copy-info z:\Repo
D trunk/A.txt
D trunk/B.txt
A + trunk/C.txt
(from trunk/A.txt:r2)
A trunk/D.txt