Domanda

Ecco cosa ho fatto, ho installato svnserve come servizio e l'ho avviato con il comando net start svn service . Ho digitato svn ls svn: // localhost per testare il servizio ma ha restituito l'errore come indicato nel titolo di questo post.

Ho inserito svn --version e svnserve --version sul mio computer per scoprire i numeri di versione e la versione client e server è la stessa, versione 1.5 .6. Immagino che l'errore compaia a causa delle diverse versioni del server e del client.

Quando avvio il server usando il comando svnserve --daemon --root in cmd, l'errore appare ancora.

Perché appare l'errore? Grazie

È stato utile?

Soluzione

Quale strumento Subverson hai usato per creare il repository? TortoiseSVN? TortoiseSVN potrebbe essere più recente, una versione 1.6.x, quindi il client della riga di comando 1.5 e svnserve, quindi svnserve 1.5.x non può servire un repository 1.6.x.

Nel mio repository fsfs creato con svnadmin 1.6.1, il file db / format contiene

$ cat repos/db/format 
4
layout sharded 1000

Altri suggerimenti

Ho lo stesso problema ma l'ho risolto con un approccio diverso

Il problema è principalmente il file db / format dove si aspetta un "2" il modo migliore per verificare è aprire il file

$ vi db/format 

Se ottieni questo

4
layout sharded 1000

Quindi dovresti cambiarli per dire

2

È meglio controllare anche il file corrente

$ vi db/current

Si ottiene solo questo (ad es. 0 che significa numero di richiesta 0)

0

Quindi dovresti cambiarli per dire semplicemente (ad es. 0 che significa il numero di revisione aggiungi " nx " e anche " 2 ")

0 nx 2

Infine controlla anche se la tua struttura di directory per i giri e le revprops è frammentata o assomiglia a questa

db/revs/0/0

cambiarlo in una struttura non cartella

db/revs/0

Nota: il file di revisione (ad es. 0) è appena all'interno della directory revs, non dovrebbero esserci più altre cartelle

Lo stesso vale per le revprops cambi il tempo

db/revprops/0/0

a

db/revprops/0

Cancella il mio vecchio repository e ne creo uno nuovo usando la riga di comando - > svnadmin crea C: \ SvnRepository

* il vecchio repository è stato creato facendo clic con il tasto destro sulla cartella e facendo clic su " Crea repository qui "

Ho installato (l'installazione Collabnet di) SVN 1.5.5 e funzionava bene con TortoiseSVN 1.6.1. Dopo aver aggiornato SVN a 1.6.2 sto ottenendo lo stesso errore (formato fs previsto tra "1" e "3"; trovato il formato "4") quando provo ad accedervi tramite Trac. Ciò conferisce credibilità alla risposta di Blair. Ti farò sapere come faccio a farlo funzionare di nuovo.

Aggiornamento: la risposta di Blair ha funzionato anche per me: il messaggio dice che una vecchia versione di SVN sta provando ad accedere al repository, quindi trovalo ed eliminalo. Le specifiche per me erano che l'errore si verificava solo quando ho usato Trac, quindi ho reinstallato Trac su Windows ( http://trac.edgewall.org/wiki/TracOnWindows ) con l'ultimo programma di installazione che ho trovato (svn-python-1.6.1.win32-py2.5.exe) e cancellato vecchie uova dal sito Python -pacchetto cartella. Dopo il riavvio e la risincronizzazione, ero di nuovo attivo e funzionante.

L'ultima versione di Zend Studio (8.x) ha uno strumento SVN che fornisce lo stesso errore nella ricerca del formato 4, ma in attesa del formato 1-3. Avevo creato il mio repository utilizzando CollabNet SVN (circa un anno fa) e non ero in grado di aprire il repository da Zend Studio.

Penso che la soluzione migliore (almeno per il mio caso in cui voglio lavorare con Zend Studio e non lottare con esso) sia ricreare il tuo repository con la vecchia versione di SVN. L'URL per SVN 1.3 per Windows è:

http: //subversion.tigris. org / files / documenti / 15/32856 / svn-1.3.2-setup.exe

Dopo aver installato questo, assicurarsi di eseguire svnadmin.exe e svn.exe nella directory della versione 1.3 appena installata nel caso in cui sia già stato installato CollabNet SVN (che ha una directory di installazione predefinita di c: / csvn).

Assicurati di utilizzare lo svnadmin corretto. Ad esempio, se hai installato VisualSVN, dovrai utilizzare svnadmin che si trova nella cartella bin della directory di installazione. Avevo installato la versione da riga di comando di SVN ... e quando ho usato questa versione dello strumento svnadmin, ho avuto lo stesso errore.

Grazie, Joe. Avevo installato sia il server SVN CollabNet che VisualSVN e stavo ottenendo errori fino a quando non mi sono assicurato di utilizzare la versione di svnadmin fornita con VisualSVN (che avevo usato per creare i repository).

Sono stato in grado di risolvere questo problema aggiornando Subversion sul server. Ho anche effettuato la regolazione sul file db. Quindi ho trasferito tutto il backup sul server come sovrascrittura. In realtà (su Windows) ho fatto un checkout localmente, quindi i file che sono stati generati nella creazione di quel repository, ho modificato il db, quindi ho preso tutti i file e li ho trasferiti su SVN sul server.

Sembrava aver fatto il trucco.

bene ho anche affrontato lo stesso problema. basta aprire la cartella remota svn che hai creato. nella tua cartella db hai un file di formato. basta sostituire il no. con 1. se non funziona, provare 2 e 3.

Se si utilizza il server VisualSVN, assicurarsi che il comando sia simile al seguente

Comando di esempio: C: \ Programmi \ Server VisualSVN \ bin > svnadmin dump c: \ repo > c: \ backup \ svnbacku p.dump

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