2010-01-14 8 views
13

Nel browser di repository quando inserisco la directory radice svn (http://servername/svn) ottengo questo messaggio "Il repository è stato spostato in modo permanente su 'http // .... 'per favore riposizionareRepo browser in svn "Repository spostato in modo permanente in ... per favore riposizionare"

ci sono diversi progetti in questo repository e posso accedere a/cassa/aggiornare ogni progetto, ma non posso nemmeno accedere alla radice.

Come posso risolvere questo problema?

+0

Ho lo stesso problema. Un checkout locale può essere aggiornato correttamente, ma comandi come 'svn ls http: // server.com/svn/project' non riescono con l'errore 301 spostato se ho un finale o no. –

risposta

4

Sto assumendo che non sei l'amministratore del server e che sei relativamente nuovo per svn ...

Avrai bisogno di dire ai tuoi copie di lavoro che il repo remoto ha mosso (vedi svn book per informazioni su how to do this). Dovrai inoltre utilizzare la nuova root per la navigazione sul repository remoto.

+0

Thnx per la tua risposta. Sì, sono abbastanza nuovo per svn ... Beh, la mia copia di lavoro sta puntando già alla nuova posizione, come ho controllato dalla nuova posizione. Quello che sto cercando di fare è spostare una cartella insieme a tutte le revisioni da un progetto all'altro ... Quindi, da http: // servername/svn/proj1/tags a http: // servername/svn/proj2/tags . quando uso il comando svn move ottengo lo stesso messaggio che è davvero sconcertante. – Randeep

+0

OK, dai suoni di esso hai in realtà due diversi repository di subversion, server/svn/proj1 e server/svn/proj2. Se questo è il caso, allora per quanto ne so tu non sarai in grado di spostarli. Hai provato a verificare server/svn - a meno che non ci siano grandi quantità di contenuti questo potrebbe essere un modo più veloce per spostare la cartella. Stabilirebbe anche se si dispone o meno di un unico repository. – PeterJCLaw

+0

Se si sta tentando di spostare una cartella tra repository, è possibile trovare questo: http://nileshbansal.blogspot.com/2006/03/moving-folder-across-svn-repositories.html utile. – PeterJCLaw

0

di solito il root è a http://servername/svn/repositoryname. Penso che ci siano alcuni problemi noti quando si ha il repository nel ro ot (cioè quando il tuo URL è ciò che descrivi, e il nome del repos è "svn").

Modifica: Questo significa che non esiste alcun livello superiore a /svn/proj1/ per quanto riguarda Subversion. È inoltre impossibile spostare (con mantenimento della cronologia) gli articoli da /svn/proj1/ a /svn/proj2/. Penso che tu sia stato troppo attivo nella creazione di repository, causando problemi durante il tentativo di riutilizzare gli articoli da un repository all'altro nell'altro. Vedere a discussion su più repository rispetto a uno singolo e lo faq entry su come unire più repository in uno.

Si consiglia di dare un'occhiata a externals se si desidera riutilizzare parte del repository proj1 nel repository proj2.

+0

Thnx per la tua risposta. Bene ho più progetti nella cartella principale e posso accedervi ok. Quello che sto cercando di fare è spostare una cartella da un progetto a un altro e non voglio perdere neanche le revisioni .. Così come da http: // servername/svn/proj1/tags a http: // nomeserver/svn/proj2/tag. quando uso il comando svn move ottengo lo stesso messaggio (repos permanentemente spostato ... per favore trasferisci) che è davvero sconcertante. – Randeep

+0

Penso che/svn/proj1 e/svn/proj2 siano due diversi repository. Usa 'svn info' su entrambi gli URL per vedere il GUID del repository. Se sono repository diversi, non è possibile spostare/copiare file tra di loro. La cronologia di un file è tracciata all'interno di un singolo repository –

+0

Grazie Sander. Gli UUID del repository sono diversi. Sembra che io abbia diversi repository. Ho deciso di spostare comunque i file e per le revisioni manterrò intatti i vecchi repository. ancora una volta grazie per la tua risposta – Randeep

0

Assicurati di avere il blocco locaction specificato correttamente nel file di configurazione di Apache:

<Location /svn> 

non

<Location /svn/> 
+0

yep il blocco posizione è stato specificato correttamente. – Randeep

+0

In realtà, il mio sta lavorando con '' per sfogliare l'elenco dei progetti con 'SVNParentPath/path/to/repositories' e' SVNListParentPath on'. Ma ottengo ancora 301 errori trasferiti dai client SVN di Tortoise. –

2

ho ottenuto lo stesso messaggio perché ho avuto un carattere di doppia sottolineatura entro un nome della cartella ; e. g. SVNPath C:/xampp/mio/percorso/per/la/repo/con// repo-cartella sottolineatura/doppia __

Li ho rimosso e funziona (ricordate il riavvio del server web)

0

Controllare la configurazione di Apache e rimuovere/commentare il reindirizzamento ErrorDocument. Questo è tutto.

0

Questa domanda è piuttosto vecchia ora ma per completezza; Sto accedendo al server SVN per indirizzo IP ma ho ricevuto questo messaggio dopo aver aggiunto un reindirizzamento nel file .htaccess da un dominio non www a un dominio www. Quindi stai attento con questo.

1

Nel caso in cui questo aiuti anche qualcuno. Ho trovato che questo messaggio può apparire se hai una DocumentRoot definita nel tuo vhost.

0

Ho affrontato lo stesso problema.Considerando che non si è amministratore del server, come io non sono, ho usato il comando svn switch --relocate con successo:

svn switch --relocate https://my.server.url/svn/projectname https://my.server.url/new.dictory/authscm/username/svn/projectname

Naturalmente, questi due URL e le relative directory capitato di essere nel mio caso , ma in linee generali questa soluzione ha funzionato bene per me, ovvero, using switch --relocate dal vecchio al nuovo URL.

0

Ho avuto questo con spazi nell'URL SVN e utilizzando Cornerstone. L'utilizzo del terminale svn checkout <url> ha invece funzionato.

0

Nel mio caso, se erano le impostazioni proxy errate per Jenkins.

Problemi correlati