我們有一個包含當前版本庫全局修訂版本的構建屬性文件。此文件是在某人爲項目添加標籤之前手動更新的。在eclipse中提交之前有沒有辦法執行一個ant目標?
我的想法是編寫一個ant任務,它更新屬性文件中的修訂號並在eclipse中設置一個項目生成器來執行任務。但問題是,您只能選擇在清理之前或之後或在手動或自動構建之後運行任務。
有沒有辦法在提交之前執行目標,以確保修訂版本號始終更新?
我們有一個包含當前版本庫全局修訂版本的構建屬性文件。此文件是在某人爲項目添加標籤之前手動更新的。在eclipse中提交之前有沒有辦法執行一個ant目標?
我的想法是編寫一個ant任務,它更新屬性文件中的修訂號並在eclipse中設置一個項目生成器來執行任務。但問題是,您只能選擇在清理之前或之後或在手動或自動構建之後運行任務。
有沒有辦法在提交之前執行目標,以確保修訂版本號始終更新?
讓您的版本控制工具完成工作,這是他的一部分。
以下是使用cvs或cvsnt時使用cvs keywords的構建文件頭的示例。
您可能在幾個來源中看到過這一點,因爲這是很好的做法。
其他版本控制工具,如Subversion ..等都有類似的功能,只需查看他們的手冊,
f.e.看到Subversion, keyword substitution
<?xml version="1.0" encoding="UTF-8"?>
<!--+
| $Author:$
| $Date:$
| $Revision:$
|
| Description :
| bla bla bla
| bla bla
| bla
|
+-->
<project name="..." default="...">
<description>
description
</description>
...
元信息獲得與每一個自動更新CVS提交,你不能忘記。
把這些關鍵字在你的編輯器文件模板,就大功告成了
但要注意,你difftool將顯示每個文件的差異,哪怕只是版本號已經因爲分支的變化。 F.E.我使用Eclipse和他們的difftool不夠聰明,忽略像這些關鍵字
(仍然在等待插件來解決這個問題..)的具體部分。但過了一段時間後,您將習慣於;-)
在團隊中工作時,由於該差異問題,在發生衝突之前必須就使用關鍵字達成一致。
感謝您的建議。我已經考慮過這種方法,但在SVN中,關鍵字'$ Revision $'代表文件的本地修訂版本。我需要此文件中的全局修訂版(它只包含修訂版號,用於多個內部處理)。 –
哦,我以爲svn是想成爲CVS的繼任者;-)好吧,有點研究想出了http://stackoverflow.com/questions/438398/subversion-as-version-incrementor-at-each-commit/438429#438429後提交與svnversion結合聽起來不錯 – Rebse
您使用的存儲庫服務器是什麼? – Adelave
@Adelave:我不知道我們使用哪個svn服務器。我更喜歡一個解決方案,它執行ant目標在提交之前在eclipse中本地更新修訂號。 –