2012-03-09 124 views
14

我是Mercurial的新手,並試圖將測試文件推送到存儲庫在線。 當我嘗試使用hg push命令時,我遇到了錯誤消息abort: repository default-push not found! 。 我已經在網上搜索和大部分提到的配置.hg/hgrc文件的答案。 我已經完成並檢查了我的.hg/hgrc文件。它確實有東西如何在Mercurial中解決錯誤消息「abort:repository default-push not found!」?

[paths] 
default = https://[email protected]/Alab/analysis 
[web] 
cacerts = /etc/pki/tls/certs/ca-bundle.crt 

爲了澄清我的問題,這裏是我執行的幾個步驟和我得到的錯誤消息。我的機器是安裝了默認Python 2.4.3的RedHat Linux 5服務器。我已經在/home/Cassie/CassieDir/analysis上建立了Mercurial目錄,並在bitbucket.org上建立了一個存儲庫,作爲用戶名ALab的分析。我輸入了commit命令和其他hg status命令。他們都很好。然後,我首先創建一個虛擬文件名爲README,並試圖通過

hg push 

錯誤消息在/analysis目錄推它表明:

abort: certificate checking requires Python 2.6 

然後,以避免證書錯誤,我再鍵入

hg push --insecure 

該錯誤消息表明作爲

Not trusting file /home/Cassie/CassieDir/analysis/.hg/hgrc from untrusted user Cassie, group Cassie 
Not trusting file /home/Cassie/CassieDir/analysis/.hg/hgrc from untrusted user Cassie, group Cassie 
Not trusting file /home/Cassie/CassieDir/analysis/.hg/hgrc from untrusted user Cassie, group Cassie 
abort: repository default-push not found! 

我也輸入了「hg push -vv」,輸出和上面一樣。

非常感謝,請讓我知道是否有任何混淆。

+0

仔細檢查錯別字?也許repostoryName應該是repositoryName? – PeskyGnat 2012-03-09 19:53:04

+0

「hg push -vv」的輸出是什麼? – krtek 2012-03-09 20:08:11

+0

最初,當我做了「hg push」時,它給出了「abort:certificate checking requires Python 2.6」的錯誤信息,所以我使用了「hg push --insecure」命令。但是,做完之後,當我再次推送時,它給了我一個錯誤信息,如「不信任來自不可信用戶Cassie,組Cassie,abort:repository default-push not的文件/home/Cassie/aExperiment/aNewdirectory/.hg/hgrc找到了!」 – Cassie 2012-03-09 20:16:41

回答

17

看來.hg/hgrc文件不屬於正確的用戶。

該錯誤消息說,該文件屬於一個用戶名Cassie這是Cassie小組。您可以使用此特定用戶執行推送或使用chown命令更改文件的所有權。要知道「你是誰」,你可以使用whoami命令。

如果您想了解信任問題的更多信息,你可以閱讀的水銀維基dedicated page

第三種解決您的問題,此頁面上的描述,您可以添加任何用戶Cassie或使用相同的名稱爲您的「可信」列表中選擇組。編輯或創建一個hgrc文件在你的home目錄中包含以下內容:

[trusted] 
users = Cassie 

但改變.hgrc文件的所有權給正確的用戶是迄今爲止一個更好的解決方案!

+0

謝謝!我只是意識到我在我的機器上作爲root用戶推送。一旦我改用用戶「Cassie」,現在看起來好了。你是天賜之物〜祝我所有正在奮鬥的Linux同伴們都好運:P – Cassie 2012-03-09 21:42:47

0

在創建新的回購之後,我有類似的問題。我必須將其添加到我的/.hg/hgrc中:

[paths] 
default_push = <foopath> 
相關問題