2017-02-07 49 views
0

使用:Windows,TortoiseHg 4.4TortoiseHg 4.4是否適用於在subrepos中提交新項目?

我剛開始將Mercurial看作是版本控制的路線,而不是我們的(不那麼)精彩的TFS 2010系統。我們的想法是使用我們當前的項目架構允許更靈活的分支,並使合併更容易。

我創建類似下面的一個子回購結構:

+Main 
    ++SharedProjects 
    ++Country1 
    ++Country2 

(+ =回購,++ = subrepo)

這主要創建.hgsub包含:

SharedProjects = SharedProjects 
Country1 = Country1 
Country2 = Country2 

在hg Workbench中查看,我可以在Main下看到正確的項目文件夾層次結構。

問題:

當我添加文件到文件夾國家1和提交主文件夾,沒有將提交。但如果我提交Country1(子)回購,它提交就好了。

很明顯,這會導致subrepos下存在多個subrepos的問題,並且會有非常大的風險,提交的更改將被忽略。

不知道我是否試圖做一些我不應該做的事情,或者如果它不工作,並有一個技巧呢?已經搜索並發現了不少年長的問題,但這些都不修復工作過:

我已經試過:

  • 添加./每個.hgsub路徑
  • 的前確保「遞歸「檢查在提交對話框
  • 添加‘recurserepos =真’的mercurial.ini
  • 確信文件不提交如果我直接提交子回購
  • 命令行從主提交」汞柱提交-S -m 「測試CMD行提交「」得到的結果‘什麼都沒變’
+0

有關命令行測試的更多信息。我已經使用HG文檔中的演練(http://mercurial.aragost.com/kick-start/en/subrepositories/)創建了mainrepo和subrepo(mainrepo),並且仍然無法提交發生在子級別。它看起來好像.hgsubstate文件是使用所有00000000而不是guid創建的,但我試圖設置不同的相對路徑(./subrepo,../subrepo)無濟於事。 所以它看起來好像是問題所在,但目前我很難找到解決方案。 – DaveC

回答

0

問題:

當我添加文件到文件夾國家1和提交主文件夾, 沒有將提交。但如果我提交Country1(子)回購, 提交就好了。

顯然這會導致subrepos下存在多個subrepos 的問題,並且它將會非常危險地進行更改將會丟失 。

不知道如果我正在嘗試做我不應該或如果它只是 不起作用,並有一個技巧呢?

這是它的工作方式。

Country1.file是知識庫Country1的職責。

Main存儲庫只是一組子版本庫版本,其中Main中的提交是指向子庫中提交的鏈接。

例如,你可以有:

  • Main 1.0只是一種SharedProjects 1.1,Country1 1.2和1.5 Country2鏈接。
  • 然後,您可以進行另一次提交,其中Main 2.0是SharedProjects 1.99,Country1 1.22和Country2 2.111。現在

,如果你的文件不是subrepository下,提交將在資料庫Main

我不會推薦使用多層次的子庫。 也許subrepositories不是您的項目的最佳方式。

你可以有一個單個存儲庫,並存儲在國家1一分支分支命名Country2命名Country1,然後COUNTRY2,等等。每個文件夾一個分支。然後你可以將它們全部合併到分支default(主分支)。

+0

太亂了,我想我想要什麼。決定在最後使用GIT,它似乎更像是它可以處理我的需求(至今還沒有抱怨!)。謝謝。 – DaveC

相關問題