2010-03-11 71 views
4

我們使用ankhsvn來檢查我們的.net代碼,但是我有兩個問題需要解決。如何在顛覆中處理解決方案/版本

1 \我認爲有一個像svn這樣的工具的關鍵原因是您可以回滾到您的代碼庫的早期版本。如果開發人員只是在代碼中檢查,那麼如何獲得版本1.1(比如當前的生產版本),而不是顛覆?

2 \在VS中您有解決方案的概念,許多解決方案可能會使用同一個項目。我如何確定開發人員檢查解決方案的時間,他們是否獲得屬於該解決方案的相應版本的項目?

回答

5
  1. 您需要了解標籤。這個想法是,當你達到了發佈X版本的時候,你會在你的Subversion版本庫中創建一個只讀/標籤/ release_X。您繼續在/ trunk或/分支上工作;如果你需要/ tag/release_X,你只需檢查一下。
  2. 我不知道「解決方案」是什麼概念。如果你的意思是你有一個共享項目變成一個JAR或WAR或者幾個項目使用的DLL或程序集,你可以檢入這個項目並讓其他項目像其他第三方JAR一樣簡單地檢查它。

我推薦閱讀SVN Red Bean這本書。

+0

謝謝,看起來是一個很好的開始。至於第2點,是的,我的意思是......我記得前一段時間看着ankhsvn,並且讀到它沒有實現。 – 2010-03-12 00:17:50

1

要在AnkhSVN的創建 「標籤」(應用程序的新版本):

  1. 在Solution Explorer中,右鍵單擊某個項目,然後選擇顛覆>行業解決方案。 將項目還原爲特定修訂版
  2. 在創建分支/標記窗口中,選擇分支或標記的來源。在倉庫中
    • HEAD或最新修訂
    • 庫中一個特定的舊版本
    • 本地工作副本
  3. 自動將您的工作副本切換到新的分支,選擇切換到創建後分支。

    注意:如果您的工作副本有修改,那麼當您切換時,這些更改將合併到分支的工作副本中。

  4. 輸入日誌消息,解釋爲什麼要創建分支或標記。
  5. 單擊確定。

這是一個非常糟糕的解決方案,太多的手動對我的口味(它不「知道」原來項目的位置,我不希望過程是繁瑣),我真正想要的是一個按鈕點擊做這個工作,所以會繼續調查。

+0

你能指出一下http://feedback.ankhsvn.net它應該如何表現「少手動」? – 2010-04-03 10:55:09

1

對於問題2:

可以使用svn:externals財產,如果該項目代碼的svn庫比的解決方案中存儲在不同的目錄,在項目的相應版本關聯到一個解決方案。如果您將解決方案的中繼上的外部屬性設置爲指向標記,那麼已標記的項目版本將與解決方案簽出。

我不知道AnkhSVN接口是否提供了添加外部屬性的方式,因爲我通常使用TortoiseSVN資源庫瀏覽器來執行任務。

我會第二次推薦閱讀Red Bean book

相關問題