0

我想在源文件中扩展/替换我定义的属性。如果在文件中我可以使用通常的 CVS 关键字扩展语法,那就太好了:

svn propset svn:keywords "Date Revision" "S:\Source\myfile.js"

svn propset Originator "me@gmail.com" "S:\Source\myfile.js"

在这个文件上:

// This is myfile.js
// $Date$
// $Revision$
// $Originator$

产量:

// This is myfile.js
// $Date: 2013-08-25 11:22:33 -0600 (Sun, 25 Aug 2013) $
// $Revision: 78 $
// $Originator: me@gmail.com $

我猜某种提交或提交后触发器/动作可以处理这个(svn gnubie)。复杂的可能是我正在使用谷歌项目。注意:我知道 $Author$。$Originator$ 只是我正在尝试做的一个例子。

TIA

4

2 回答 2

0

如果你想在 Subversion 中使用自定义关键字,你必须使用 SVN 1.8.* - 这个版本增加了在旧的“经典”svn:keywords 之外定义新关键字的可能性。但是,无论如何,这些关键字仍然不能完全自由形式^您关键字的定义必须由有限的原语集构成。

来自svn help propset

  Custom keywords can be defined with a format string separated from
  the keyword name with '='. Valid format substitutions are:
    %a   - The author of the revision given by %r.
    %b   - The basename of the URL of the file.
    %d   - Short format of the date of the revision given by %r.
    %D   - Long format of the date of the revision given by %r.
    %P   - The file's path, relative to the repository root.
    %r   - The number of the revision which last changed the file.
    %R   - The URL to the root of the repository.
    %u   - The URL of the file.
    %_   - A space (keyword definitions cannot contain a literal space).
    %%   - A literal '%'.
    %H   - Equivalent to %P%_%r%_%d%_%a.
    %I   - Equivalent to %b%_%r%_%d%_%a.

即,您可能会在构建Originator(以上述形式)时遇到麻烦 - 用户的电子邮件从未直接存储或引用,但可能会定义和使用其他一些关键字

于 2013-08-26T15:32:09.557 回答
0

尝试简单:

svn propset svn:keywords "Date Revision Originator=me@gmail.com" "S:\Source\myfile.js"

设置此属性后不要忘记提交文件!

(使用 Tortoise SVN 1.8.11 测试)

于 2015-09-04T13:41:03.547 回答