服务器
不知道这是否可以在服务器端完成。我认为它可以。服务器需要一个pre-commit hook来执行操作。这可能是服务器特定的。用下面的命令参数在VisualSVN,你可以写一个脚本power-shell被称为预提交:
[1] REPOS-PATH
[2] REV
[3] TXN-NAME.
我认为你可以用这些参数来的信息附加到一个版本控制的文件。我只是不确定是否会触发另一个提交,触发另一个提交前钩子。
客户
你绝对可以做在客户端类似的东西。我使用SubWCRev。它是使用命令行界面获取SVN参数的TortoiseSVN的一部分。
文件里:SubWC.h.in:
#define SVNREV "$WCREV$"
#define SVNMOD "$WCMODS?Modified:Not modified$";
#define SVNVER "$WCUNVER?Unversioned items found:no unversioned items$";
然后,如果你一个预生成事件期间运行SubWCRev.exe . SubWC.h.in SubWC.h
,你会得到一个自动生成的头:
#define SVNREV "2345"
#define SVNMOD "Modified"
#define SVNVER "Unversioned items found"
您可以使用#include
该标题将版本信息嵌入到应用程序中。
对此here有个很好的解释。它不会为您生成的文件生成版本,但您可以在同一个预生成脚本中编写脚本svn ci
。
为什么downvote? – amphibient