2012-03-09 13 views
14

Sono nuovo di Mercurial e ho provato a inviare un file di test a un repository online. Ho riscontrato un messaggio di errore come abort: repository default-push not found! quando ho provato a utilizzare il comando hg push. Ho cercato online e la maggior parte delle risposte menzionate per configurare il file .hg/hgrc. L'ho fatto e ho controllato il mio file .hg/hgrc. Aveva qualcosa comeCome risolvere il messaggio di errore "abort: repository default-push not found!" In Mercurial?

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

Per chiarire la mia domanda, ecco alcuni passaggi che ho eseguito e messaggi di errore che ho ricevuto. La mia macchina è un server RedHat Linux 5 con predefinito Python 2.4.3 installato. Ho creato una directory per Mercurial al numero /home/Cassie/CassieDir/analysis e un repository su bitbucket.org come analisi con nome utente ALab. Ho digitato il comando commit e altri comandi hg status. Sembrano tutti bene. Poi, ho creato un file chiamato README fittizio e ho cercato di spingerlo a /analysis directory

hg push 

Il messaggio di errore mostrato:

abort: certificate checking requires Python 2.6 

Poi, per evitare errori di certificato, poi ho digitato

hg push --insecure 

Il messaggio di errore mostrato come

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! 

Ho anche digitato "hg push -vv" e le uscite sono le stesse di sopra.

Grazie mille e per favore fatemi sapere se c'è qualche confusione.

+0

doppio controllo per errori di battitura? forse repostoryName dovrebbe essere repositoryName? – PeskyGnat

+0

qual è l'output di? 'Hg push -vv'? – krtek

+0

Originariamente, quando ho fatto "hg push", ha dato un messaggio di errore come "abort: il controllo del certificato richiede Python 2.6" quindi ho usato un comando "hg push --insecure".Tuttavia, dopo averlo fatto, quando ho spinto di nuovo, mi ha dato un messaggio di errore come "Non fidarsi del file /home/Cassie/aExperiment/aNewdirectory/.hg/hgrc da un utente non attendibile Cassie, gruppo Cassie, abortire: repository default-push not trovato!" – Cassie

risposta

17

Sembra che il file .hg/hgrc non appartenga all'utente corretto.

Il messaggio di errore indica che il file appartiene a un nome utente Cassie che si trova nel gruppo Cassie. È possibile utilizzare questo particolare utente per eseguire il push o modificare la proprietà del file con il comando chown. Per sapere quale utente "sei", puoi utilizzare il comando whoami.

Se si desiderano ulteriori informazioni sui problemi di affidabilità, è possibile leggere lo dedicated page nella wiki di Mercurial.

Una terza soluzione al problema è descritta in questa pagina, è possibile aggiungere l'utente Cassie o il gruppo con lo stesso nome all'elenco "attendibile". Modificare o creare un file hgrc nella propria home directory che contiene il seguente:

[trusted] 
users = Cassie 

Ma cambiare la proprietà del file .hgrc per l'utente corretto è di gran lunga la soluzione migliore!

+0

Grazie mille! Ho appena realizzato che spingo come utente root sulla mia macchina. Una volta che cambio utente "Cassie", ora sembra tutto a posto. Sei una manna dal cielo ~ Buona fortuna per tutti i miei compagni di linux che ora stanno lottando.:P – Cassie

0

Ho avuto un problema simile con questo dopo aver creato un nuovo repository. Ho dovuto aggiungere questo al mio /.hg/hgrc:

[paths] 
default_push = <foopath>