2009-06-01 13 views
16

Sto provando a svn checkout nella mia cartella public_html, ma ottengo questo errore: svn: '.' è già una copia funzionante per un altro URLProva a svn checkout, ma ottieni: svn: '.' è già una copia funzionante per un altro URL

Mio fratello ha già installato un sito di piastre di riscaldamento per me, ma l'ho modificato e ho trasformato tali modifiche in un repository personale. Come faccio a fare in modo che questa cartella non sia una copia funzionante del repository che ha creato in origine?

Posso eliminare la cartella public_html e crearne una nuova? Sto bene iniziando da zero, visto che sto andando a controllare su un sito Drupal già installato su questo sito.

Ho visto in un'altra domanda che una soluzione potrebbe essere quella di eliminare semplicemente la directory .svn. Ho provato questo, ma ha detto il permesso negato per diverse sottodirectory in .svn.

Grazie in anticipo per qualsiasi aiuto, spero che questa domanda non è troppo stupido ...

+2

Se non si dispone dell'autorizzazione per eliminare public_html/.svn, allora non sarà in grado di eliminare anche public_html. – rodion

+0

SVN dalla linea cmd! dovresti usare totalmente tortoise svn http://tortoisesvn.net/downloads –

risposta

6

Questa sequenza di comandi dovrebbe farlo, se siete di fretta.

Ci deve essere un modo per aggiornare l'url di riferimento della copia di lavoro, ma non lo conosco in modo casuale.

$ svn diff > ../changes.patch 
$ rm -rf * ..?* 
$ svn checkout url 
$ patch -p < ../changes.patch 
+0

eccellente. +1 –

1

Se non avete bisogno di una connessione con pronti contro termine di tuo fratello, poi basta rimuovere tutti i suoi .svn dirs.

Il problema del permesso non è correlato a SVN, sicuramente.

9

Si potrebbe provare "svn switch". Nell'esempio all'indirizzo http: // svnbook.red-bean.com/en/1.0/ch04s05.html, è facile come:

$ svn switch http:// svn.example.com/repos/calc/branches/my-calc-branch 

Ma dal momento che avete problemi di autorizzazioni delle sottodirectory, il piano di ricreare public_html suona come la soluzione migliore; fai solo attenzione agli errori di battitura con 'rm'. Prova 'mv' per spostare semplicemente la vecchia directory, che non dipende dalle autorizzazioni della sottodirectory.

È possibile utilizzare:

$ mv public_html old_public_html 
$ mkdir public_html 
$ chmod 755 public_html 
$ cd public_html 
$ svn checkout url 
0

I saw in another question that a solution may be to simply delete the .svn directory. I tried this, but it said permission denied for several subdirectories in .svn.

Anche quando non è possibile eliminare le directory si può allontanarli:

$ mv .svn /tmp/dustbin 

edit:

si dovrebbe avere l'accesso in scrittura a almeno nella tua home directory:

$ mv ~/public_html /tmp/dustbin 
$ mkdir ~/public_html 
+0

no, non è possibile spostarlo –

+0

Non funziona perché non si dispone dell'autorizzazione per l'aggiornamento "..". – Joshua

0

Ho riscontrato questo errore ("... è già una copia funzionante per un URL diverso") proprio ora in Eclipse 3.5. Stavo cercando di verificare un particolare ramo di un progetto dalla prospettiva "SVN Repository Exploring" di Eclipse (l'adattatore client di subversione Subclipse da tigris.org). Avevo eseguito il drill su [project] | branches | [branch] a cui ero interessato, quindi ho fatto clic con il tasto destro del mouse sul ramo a cui ero interessato e selezionato Checkout; questo ha portato all'errore.

Per me, la soluzione era invece passare alla prospettiva "Java EE", fare clic con il pulsante destro del mouse sul mio progetto e selezionare Replace With | Branch/Tag... dal menu di scelta rapida.Facendo questo, sono riuscito a scaricare il ramo a cui ero interessato.

+0

Che "Sostituisci con | Filiale/Tag ..." è probabilmente il nome Eclipse di SVN SWITCH (vedi sotto). Se qualche guru di Eclipse/SVN potrebbe confermarlo, renderebbe questo thread più chiaro. (Secondo me il "passaggio" è esattamente ciò che è necessario qui, ed è stato progettato proprio per questa situazione.) – johanekdahl

0

Ho scoperto che se andavo semplicemente in prospettiva J2EE, fare clic con il tasto destro del mouse sul progetto e selezionare Elimina prima di tentare il checkout di un nuovo ramo , risolve questo problema.

0

Penso che la soluzione migliore nel tuo caso è quello di eliminare la cartella e creare di nuovo facendo il checkout da SVN

+0

che ha funzionato per me, ho appena dovuto creare una nuova cartella – nerdess

Problemi correlati