0

我需要配置一个提交后挂钩,它将在电子邮件中将重命名操作标识为重命名。

问题是我们能够将它们识别为删除和添加操作,但我们需要将其作为单个重命名操作。

移动操作也是如此,它在内部被视为复制/删除操作。

任何可以为此目的利用 svn 属性的帮助将不胜感激。

4

1 回答 1

1

在提交后挂钩中,您有两种可能性

选择 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
于 2014-05-16T05:11:40.033 回答