我需要配置一个提交后挂钩,它将在电子邮件中将重命名操作标识为重命名。
问题是我们能够将它们识别为删除和添加操作,但我们需要将其作为单个重命名操作。
移动操作也是如此,它在内部被视为复制/删除操作。
任何可以为此目的利用 svn 属性的帮助将不胜感激。
我需要配置一个提交后挂钩,它将在电子邮件中将重命名操作标识为重命名。
问题是我们能够将它们识别为删除和添加操作,但我们需要将其作为单个重命名操作。
移动操作也是如此,它在内部被视为复制/删除操作。
任何可以为此目的利用 svn 属性的帮助将不胜感激。
在提交后挂钩中,您有两种可能性
选择 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 使用 重命名为 C.txt svn mv
,B.txt 仅使用 OS-command 移动到 D.txt )
选择 1
因为是repository端操作,所以使用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