服務器
不知道這是否可以在服務器端完成。我認爲它可以。服務器需要一個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