2009-05-02 18 views
5

Non posso clonare il mio repository via http:Non può clonare Mercurial (Hg) repository via http

abortire: 'http://MYREPO' non sembra essere un repository hg!

In primo luogo, ho creato un nuovo repository tramite hg init MYREPO seguito dall'aggiunta di alcuni file e il commit.

Il dir con il mio repo è protetto da password, ma non v'è alcun segno di problemi a causa di esso, ho provato entrambi i metodi di clonazione: (sulla mia macchina locale)

hg clone http://MYREPO my_repo

e

hg clone http://user:[email protected] my_repo

Permesso del repo dir sono: drwxrwxr-x

Posso clonare questo stesso repository sul mio computer remoto (lo stesso repository è attivo) senza problemi.

Cosa potrebbe esserci di sbagliato?

risposta

0

Argh ... È necessario fare attenzione con la configurazione .htaccess. Nel mio caso avevo bisogno di aggiungere "hgwebdir.cgi" al percorso per clonare ... Grazie per le risposte però!

SSH sembra logico, ma in qualche modo non ho potuto usarlo con utente diverso il mio locale:

hg clone ssh: // MY_REMOTE_USER @ miorepo remoto: Interruzione: Non v'è alcun repository Mercurial qui (.hg non trovato)!

10

UPDATE:

Sembra che stai ricevendo confusione tra il repository e hostname

Se l'esecuzione di "hg serve", "hg clone http://[email protected]:8000" dove host può essere IP vi macchina o il nome host (tipo " hostname "su linux o prova" ping localhost "). È possibile modificare la porta predefinita da 8000 passando un --port #### a hg serve.

Se si desidera eseguire su ssh, "hg clone ssh: // UTENTE @ HOST // PERCORSO/A/IL TUO/REPOSITORY". Supponiamo che tu abbia creato un repository nella tua home directory chiamato MYREPO, quindi dovresti fare questo: "hg clone ssh: // USER @ HOST/~/MYREPO"

Puoi clonare il tuo repository tramite http è qualcosa che sta servendo quel repository su http. Mercurial fornisce per te un server http integrato. Esegui "hg serve" all'interno del repository, quindi prova a clonarlo da un'altra posizione (o da un'altra shell di comando). Se si desidera solo un clone locale, non è necessario utilizzare http ("clone hg").

Inoltre, prova "hg help clone" e "hg help serve" per i dettagli.

2

besszero ha ragione, ma perché non clonare usando SSH se userete comunque username e password?

hg clone ssh: // // machine_ip tuo/repo/posizione your_repo

E 'anche più sicuro se non si vuole aprire un'altra porta per il server http di Mercurial e non è necessario le caratteristiche hgweb, il traffico è anche crittografato. L'unico inconveniente è che devi effettuare il login per il pagamento, ma HTTP non funziona per respingere le modifiche, almeno non nella mia esperienza.

+1

Funziona con push_ssl = false nel tuo hgrc –

3

stranamente, la clonazione con ssh richiede una barra extra in avanti non intuitiva.

questo funziona per me su un host con ssh in esecuzione sulla porta 43211

hg clone ssh://example.com:43211//repos/myRepo ./myRepo 

la doppia barra dopo il numero della porta funziona, ma una singola barra lì genera l'errore ".hg non trovato"

+3

'hg help urls' dice con una barra si accede a casa tua, e con due la radice. – kay

Problemi correlati