Copia di lavoro di aggiornamento SVN

Non riesco a fare un commit SVN. Ottengo questo errore:

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6) 

Come può essere aggiustato?

Devi aggiornare il tuo client subversion ad almeno 1.7.

Con il client della riga di comando, devi aggiornare manualmente il tuo formato di copia di lavoro emettendo il comando svn upgrade :

Aggiornamento della copia di lavoro

Subversion 1.7 introduce modifiche sostanziali al formato di copia di lavoro. Nelle versioni precedenti di Subversion, Subversion aggiornava automaticamente la copia di lavoro nel nuovo formato quando veniva eseguita un’operazione di scrittura. Subversion 1.7, tuttavia, renderà questo un passaggio manuale. Prima di utilizzare Subversion 1.7 con le loro copie di lavoro, gli utenti dovranno eseguire un nuovo comando, svn upgrade per aggiornare i metadati nel nuovo formato. Questo comando potrebbe richiedere del tempo e, per alcuni utenti, potrebbe essere più pratico semplicemente eseguire il checkout di una nuova copia di lavoro.
– Note sulla versione di Subversion 1.7

TortoiseSVN eseguirà l’aggiornamento della copia di lavoro con la successiva operazione di scrittura:

Aggiornamento della copia di lavoro

Subversion 1.7 introduce modifiche sostanziali al formato di copia di lavoro. Nelle versioni precedenti, Subversion aggiornava automaticamente la copia di lavoro nel nuovo formato quando veniva eseguita un’operazione di scrittura. Subversion 1.7, tuttavia, renderà questo un passaggio manuale.

Prima di poter utilizzare una copia di lavoro esistente con TortoiseSVN 1.7, è necessario prima aggiornare il formato. Se fai clic con il pulsante destro su una vecchia copia di lavoro, TortoiseSVN mostra solo un comando nel menu di scelta rapida: Aggiorna copia di lavoro.
– Note sulla versione di TortoiseSVN 1.7

da eclipse, è ansible selezionare sul progetto, tasto destro-> team-> aggiornamento

Su MacOS:

  1. Ottieni gli ultimi binari del client SVN compilati da qui .
  2. Installare.
  3. Aggiungi binari al percorso (l’ultima schermata di installazione spiega come).
  4. Aprire il terminale ed eseguire il seguente comando nella directory del progetto:

aggiornamento svn

Se hai appena effettuato l’upgrade a SVN 1.7 sul tuo computer (come ho appena fatto) e disponi di molti progetti nell’area di lavoro Eclipse che devono essere aggiornati, puoi eseguire le seguenti operazioni in una finestra di terminale su sistemi Unix-baesd:

 cd [eclipse/workspace] # <- you supply the actual path here for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done; 

Dopo aver cercato su Google un po ', ho trovato quello che sembra essere l'equivalente per gli utenti di Windows:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

Guarda la risposta di Alexey Shcherbak a metà pagina.

Questo problema è dovuto al fatto che si tenta di compilare un progetto con i file SVN più vecchi di quelli attualmente in uso.

Hai due soluzioni per risolvere questo problema

  1. installare la versione 1.6 SVN per essere compatibile con i file SVN del progetto
  2. prova ad aggiornare il progetto .. (non sempre funzionante).

Dopo l’aggiornamento all’ultima versione di Tortoise-SVN, avevo bisogno di fare un “Upgrade” prima (al contrario di “Update”!).

Se ricevi questo errore da Netbeans (7.2+) significa che la versione di Subversion installata separatamente è superiore alla versione in netbeans. Nel mio caso Netbeans (v7.3.1) aveva SVN v1.7 e avevo appena aggiornato il mio SVN alla v1.8.

Se cerchi in Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane) , imposta Preferred Client = CLI , quindi puoi impostare il percorso dell’SVN installato che per me era C:\Program Files\TortoiseSVN\bin .

Ulteriori informazioni possono essere trovate nelle Domande frequenti sui client di Subversion di Netbeans .

Con AnkhSVN in Visual Studio, c’è anche un’opzione “Upgrade Working Copy” nel menu di scelta rapida per la soluzione in Solution Explorer (quando applicabile).

Puoi anche ricevere strani messaggi sulla necessità di aggiornare la tua copia di lavoro quando ci sono altre copie di lavoro annidate nella tua. Ho avuto questo problema con un progetto Symphony in cui alcune cartelle di framework funzionano come copia, che suppongo non siano state ripulite correttamente prima di essere pubblicate.

In questo caso, basta effettuare una ricerca di file per .svn ed eliminare le cartelle .svn che non si desidera (non eliminare la propria alla radice, ovviamente).

È ansible eseguire l’aggiornamento a Subversion 1.7. Per aggiornare a Subversion 1.7 devi avviare un progetto esistente in Xcode 5 o successivo. Questo richiederà un avvertimento ” The working copy ProjectName should be upgraded to Subversion 1.7 ” (mostrato nello screenshot qui sotto).

Screenshot per avvertimento

È necessario selezionare il pulsante ” Upgrade ” per eseguire l’aggiornamento a Subversion 1.7. Questo richiederà un po ‘di tempo.

Se si utilizza il terminale, è ansible eseguire l’aggiornamento a Subversion 1.7 eseguendo il comando below nella directory del progetto: svn upgrade

Nota che una volta upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Consulta i documenti Apple per maggiori dettagli.