2011-09-13 33 views
2

在我的一個項目的早期階段,我正在使用的人員將他們的整個elipse工作區添加到我們的mercurial存儲庫。在我更新了.hgignore文件以防止再次發生這種情況後,我運行hg忘記從我們的存儲庫中刪除所有文件。hg branches和hg忘記

問題是,當這個其他人拉了下來,並改變成一個新的分支,我創建了他失去了他所有的工作空間插件等,並不能再建立該項目。

什麼問題? .hgignore沒有那麼做,忽略這些文件?爲什麼它會通過並刪除他本地副本中的文件?

回答

1

發生了什麼事是你運行hg forget它從存儲庫中刪除文件。下一次開發人員將其本地工作副本從同一個存儲庫更新爲之後刪除文件後,文件從該人員的工作副本中刪除,從而打破了他的工作空間。

請注意hg forget只是一個hg remove -aF,但它的您的工作區汞離開文件,而不是他的。

查看更多herehere

+0

啊,好的。有沒有辦法回購清理,而不影響其他人民版本上新近忽略的文件?否則我想我會讓他忘記自己的文件。 – KidProQuo

+1

'hg忘記'只從當前分支中刪除文件,而不是從整個項目歷史記錄中刪除,所以另一個dev是安全的,直到他們更新到該版本。我認爲在這種情況下,錯誤地提交這些文件的開發者是那些需要忘記他們以避免在他們的機器上刪除他們的人。 – Sumo