2014-12-10 94 views
0

我的公司正在轉向TFS。我們目前正在使用Tortoise SVN。我希望能夠在SVN中留下一個項目,但是有些如何禁用它,以便人們不能提交更改,但我們仍然可以查看歷史記錄。如何在Tortoise SVN中禁用項目

到目前爲止,我已經重命名了一個項目併發布了一條消息,表明它目前在TFS中,而不是進行更改。我的問題是,所有的歷史都消失了。我想保持歷史。

請幫忙。

回答

0

我最終做的是從SVN中刪除項目。這使它消失,但如果你回到以前的版本,你會發現刪除版本。如果您認爲您能夠下拉簽入的最新版本,但無法提交更改。您也可以從這一點看到所有歷史記錄。

0

對於問題的第一部分,「我如何在SVN中創建只讀?」,我不知道。如果您進行完整的歷史記錄遷移,則不需要那麼做。

您將最新的源代碼移至TFS,因此當然您沒有歷史記錄。如果你想將歷史從SVN遷移到TFS,我見過的最簡單的方法就是使用Git作爲中介。

Git natively supports SVNThere are tools that allow Git and TFS to interoperate。既然你可以從SVN獲得代碼到Git中,並且你可以從Git獲得代碼到TFS中,你可以將你的SVN版本歷史轉儲到Git中,然後將它從Git遷移到TFS。

的基本過程是這樣的:

  1. 使用git svn把你的SVN倉庫到Git倉庫
  2. 使用Git-TF勾你的Git倉庫達TFS,推動在變化

這樣,歷史將被保留,但時間戳將丟失

當然,我假設你在使用TFVC。如果您使用的是Git-in-TFS,則更容易:從SVN數據創建Git存儲庫後,只需將其推入TFS即可完成。

+0

我們沒有進行遷移。我們沒有進行遷移的主要原因是因爲項目沒有正確設置。我基本上不得不重建項目,然後檢查他們到TFS。我們也沒有使用GIT。我真正想要做的就是,讓SVN非常明顯,項目不再從那裏編碼,並且您需要使用TFS版本。我不知道正確的策略,或多或少,我希望如何斷開任何給定項目的所有當前結賬,以便他們必須從TFS獲取它,但保留歷史IN SVN。 – hondaman2003 2014-12-11 15:07:02

0

好東西,我知道如何禁用任何承諾或以上版本庫的修改是通過在服務器使用start-commithook
掛鉤是一個簡單的.bat文件與此內容:

echo committing is disabled for that repository. >&2 
exit 1 

名稱文件start-commit.bat,並將其放入存儲庫的hooks文件夾中。這就是全部。

注:
這是一個windows腳本。對於其他服務器,你需要另一個腳本。

相關問題