當遠程更新Mercurial庫,我從被後推的遠程服務器上運行hg update
命令得到下面的錯誤。我在網上尋找了一些幫助,但找不到有用的東西。在這一點上,我希望得到一些想法和/或洞察力,看看會導致這個問題。水銀HG更新退出,狀態255
的錯誤是略低於。推送兩個變更集時發生。一個變更集包括一個不相關的index.html文件更改。另一個變更集是一個合併,其中包括index.html更改以及兩個圖像文件的重命名。
[email protected]:/home/web/repository$ hg push pushing to ssh://10.10.1.12//home/web/repository searching for changes`remote: adding changesets remote: adding manifests remote: adding file changes remote: added 2 changesets with 1 changes to 1 files remote: abort: Operation not permitted: /home/web/repository/html/images/image.gif remote: warning: changegroup hook exited with status 255
的附加細節:
兩個圖像的大小10385個字節。 (是的,兩個圖像我發生這個錯誤)
兩張圖片有他們的名字在嘗試將庫下拉到Windows電腦時已經推
hg update
d由於案件摺疊碰撞的變更改變。目標服務器可以在/ etc下鉤/水銀/ hgrc:
[hooks] changegroup = hg update
作爲一種變通,我做了以下內容:
- 刪除Image.gif的。
- 刪除了產生錯誤的另一個圖像文件。
- 冉
hg update
- 成功! - 冉
hg revert html/image/image.gif
- 冉
hg revert html/image/otherimage.gif
在這一點上,我想更好地理解這個問題的原因,這樣我可以保證在一個堅實的,易於使用的實現我的環境。我真的很感謝你的幫助!
在鉤使用hg --debug update
後,我收到這樣的輸出:
[email protected]:/home/web/repository$ hg push pushing to /home/web/staging/repository searching for changes adding changesets adding manifests adding file changes added 2 changesets with 1 changes to 1 files resolving manifests overwrite False partial False ancestor 58a5edb95c9a local 58a5edb95c9a+ remote 3aafb97b148c searching for copies back to rev 6 html/index.php: remote is newer -> g html/images/otherimage.gif.casefolding: update permissions -> e html/images/image.gif: update permissions -> e abort: Operation not permitted: /home/web/staging/repository/html/images/image.gif warning: changegroup hook exited with status 255
其他權限信息:
在2個變更集所有3個文件都與WEBUSER 775權限:dev用戶:組。
我的全球hgrc文件的WEBUSER信任
[trusted] users = webuser
也許有問題的文件的權限問題? – Amber 2010-11-03 19:37:20
基於調試輸出,我必須同意。我在服務器上附加了有關權限的詳細信息。請讓我知道您如何解決此權限問題的想法。 – bitsoflogic 2010-11-03 20:22:52
該評論顯示出一點混淆「2個變更集中的所有3個文件對webuser:dev user:group具有775權限」。變更集中的文件沒有文件權限(除執行外)或用戶或組 - 這些元數據不會被mercurial追蹤,因此它們不是變更集中文件的一部分。磁盤上的文件,無論是.hg文件還是工作目錄中的文件,都將擁有僅基於誰在運行寫入它們的mercurial命令的所有權和權限。在你的例子中是'levinaris',而不是webuser。 – 2010-11-03 20:51:06