2011-08-30 50 views
0

我們有一個包含當前版本庫全局修訂版本的構建屬性文件。此文件是在某人爲項目添加標籤之前手動更新的。在eclipse中提交之前有沒有辦法執行一個ant目標?

我的想法是編寫一個ant任務,它更新屬性文件中的修訂號並在eclipse中設置一個項目生成器來執行任務。但問題是,您只能選擇在清理之前或之後或在手動或自動構建之後運行任務。

有沒有辦法在提交之前執行目標,以確保修訂版本號始終更新?

+0

您使用的存儲庫服務器是什麼? – Adelave

+0

@Adelave:我不知道我們使用哪個svn服務器。我更喜歡一個解決方案,它執行ant目標在提交之前在eclipse中本地更新修訂號。 –

回答

1

讓您的版本控制工具完成工作,這是他的一部分。
以下是使用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不夠聰明,忽略像這些關鍵字
(仍然在等待插件來解決這個問題..)的具體部分。但過了一段時間後,您將習慣於;-)
在團隊中工作時,由於該差異問題,在發生衝突之前必須就使用關鍵字達成一致。

+0

感謝您的建議。我已經考慮過這種方法,但在SVN中,關鍵字'$ Revision $'代表文件的本地修訂版本。我需要此文件中的全局修訂版(它只包含修訂版號,用於多個內部處理)。 –

+0

哦,我以爲svn是想成爲CVS的繼任者;-)好吧,有點研究想出了http://stackoverflow.com/questions/438398/subversion-as-version-incrementor-at-each-commit/438429#438429後提交與svnversion結合聽起來不錯 – Rebse

相關問題