2012-02-13 104 views
3

我有一個已經正確設置且工作正常的現有回購。我從回購庫中刪除了整個項目文件夾,提交了更改,然後添加了另一個不在VC下的文件夾。現在,當我嘗試在新文件夾中添加或提交文件時,Mercurial似乎無法識別任何新文件。Mercurial將無法識別存儲庫中的新文件夾

使用TortoiseHg Windows資源管理器「提交」擴展名時,當我嘗試提交文件夾(或其中的任何文件)時,沒有文件顯示在對話框中。如果我右鍵單擊並提交文件夾內的文件,彈出窗口顯示「找不到此操作的文件」。我不是汞專家,雖然我一直在使用它幾個月沒有困難,但我很困擾這一個。有任何想法嗎?

更新:我添加了一個屏幕截圖,顯示當我嘗試添加新文件夾時會發生什麼情況。似乎無法識別文件夾中的任何文件。

enter image description here

回答

3

我複製的項目是另一個回購的一部分,所以它包含了hg參考文件。我刪除了這些,並且完美地添加/提交了一切。

1

如果要提交一個新的文件到存儲庫,你必須首先add它。

在命令行上這可以通過各種方式來完成:

  1. hg add可以添加文件或文件的存儲庫,它包含所有文件。
  2. hg addremove其中添加了所有新文件並刪除刪除的文件。
  3. hg commit -Ahg commit --addremove哪些是相同的東西和快捷方式hg add remove; hg commit

我不記得命令是在TortoiseHG的確切位置,但我認爲如果你右鍵單擊資源管理器中的文件夾,該選項應該存在。

我想我也記得在提交窗口的某個地方有一個addremove選項,但我可能會誤解。

[更新]

根據您提供自己的答案,這裏是爲什麼簡單地將文件的解釋不工作:

由於新目錄庫中包含的相關信息(一.hg目錄),Mercurial將其視爲Subrepository。子庫是包含在另一個庫中的庫,例如,這可以用來引用特定版本的庫。

一旦您刪除新位置中的.hg目錄,Mercurial didn就會將此視爲Subrepo,並且您可以正常添加文件。

+0

當我嘗試添加時,似乎沒有任何文件可以從我複製到回購項目中識別出來。看到我上面的屏幕截圖。這是澄清嗎? – 2012-02-13 18:44:37

+0

另外,我已經從命令行嘗試了上述所有選項,但它似乎仍不能識別這些文件。 – 2012-02-13 18:46:56

+0

+1 - 謝謝;很好知道供將來參考。 – 2012-02-15 15:58:42

相關問題