Domanda

Ho un repository qui http://repos.joomlaguruteam.com/

Sto usando hgweb.cgi questo è il mio file hgweb.config

[web]
baseurl = 
#allowpull = true
allow_push = *
push_ssl = false
allow_archive = bz2 gz zip

[paths]
/ = /home/repos/*

Posso sfogliarlo ma non riesco a clonarlo. Ogni volta che lo clone ho questo errore

hg clone http://repos.joomlaguruteam.com/hello
destination directory: hello
requesting all changes
abort: HTTP Error 404: Not Found

E il registro di accesso ha quello

115.5.95.59 - - [10/Feb/2011:04:20:33 -0600] "GET /hello?pairs=0000000000000000000000000000000000000000-0000000000000000000000000000000000000000&cmd=between HTTP/1.1" 200 1 "-" "mercurial/proto-1.0"
115.5.95.59 - - [10/Feb/2011:04:20:34 -0600] "GET /hello?cmd=heads HTTP/1.1" 200 41 "-" "mercurial/proto-1.0"
115.5.95.59 - - [10/Feb/2011:04:20:34 -0600] "GET /hello?cmd=changegroup&roots=0000000000000000000000000000000000000000 HTTP/1.1" 404 597 "-" "mercurial/proto-1.0"

Ma posso clonarlo usando un trasferimento non compresso

hg clone --uncompressed http://repos.joomlaguruteam.com/hello

Ma ora non so come estrarre il repository, perché quando ci tiro da esso. Ha lo stesso problema come il clone. anche per in arrivo.

Ecco il mio file .htaccess

Options +ExecCGI
RewriteEngine On
#write base depending on where the base url lives
#RewriteBase /hg
RewriteRule ^$ hgweb.cgi  [L]
# Send requests for files that exist to those files.
RewriteCond %{REQUEST_FILENAME} !-f
# Send requests for directories that exist to those directories.
RewriteCond %{REQUEST_FILENAME} !-d
# Send requests to hgweb.cgi, appending the rest of url.
RewriteRule (.*) hgweb.cgi/$1  [QSA,L]

Posso spingere Revison nel repository ma non riesco a tirarlo da esso.

C'è comunque per configurare questo o qualcosa per farlo funzionare.

Grazie mille per avermi aiutato.

Grazie, Yuan

È stato utile?

Soluzione

Ok ho scoperto il problema.

Commenta la seguente riga in /home/my_username/.hgrc

#verbose = True

più dettaglio qui

Altri suggerimenti

Questo può sembrare ovvio, ma hai provato a rimuovere il #allowpull = true linea nel tuo hgweb.config file?

Domanda: stai eseguendo un HGWEB.CGI e aliasing tramite il tuo server web?

Se è così http: // url/ciao potrebbe effettivamente indicare http: //url/hgweb.cgi/hello E questo potrebbe essere il percorso che sta cercando. In genere si dispone di uno script CGI che serve l'interfaccia Web mercuriale.

  1. Aggiorna la versione da mercuriale a lates

  2. Prova a sostituire la sezione [percorsi] a

    [collections]
    / = /home/repos
    
    [web]
    baseurl =
    
  3. Aggiorna HGRC per tutti i tuoi repository

    [web]
    allow_read = YOUR_USER1, YOUR_USER2
    allow_push = YOUR_USER1
    push_ssl = false
    

Ciò può accadere anche quando si ospita HGWEB in IIS e una richiesta di pull supera la lunghezza massima della stringa di query sul server. L'impostazione predefinita di 2048 byte può essere aumentato configurando il System.Webserver/Security/RequestFilters/RequestLIts sezione di configurazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top