Copia di lavoro dell'aggiornamento SVN


133

Non riesco a eseguire 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?

Risposte:


154

Devi aggiornare il tuo client Subversion ad almeno 1.7.

Con il client della riga di comando, è necessario aggiornare manualmente il formato della copia di lavoro eseguendo il comando svn upgrade:

Aggiornamento della copia di lavoro

Subversion 1.7 introduce sostanziali modifiche al formato della 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 funzionanti, gli utenti dovranno eseguire un nuovo comando, svn upgradeper aggiornare i metadati al nuovo formato. Questo comando potrebbe richiedere del tempo e, per alcuni utenti, potrebbe essere più pratico eseguire semplicemente il checkout di una nuova copia funzionante.
- Note di rilascio 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 sostanziali modifiche al formato della 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 aggiornare prima il formato. Se si fa clic con il tasto destro su una vecchia copia funzionante, TortoiseSVN mostra un solo comando nel menu contestuale: Aggiorna copia funzionante.
- Note di rilascio di TortoiseSVN 1.7


2
Quando svn upgrade
emetto

@geneorama: hai svninstallato? ( sudo apt-get install svn)
knittl,

5
Grazie per la risposta! Avevo installato svn (sovversione), ma era la versione 1.6, che non ha il upgradecomando. Ubuntu 12.04 non avrebbe installato 1.7 senza aggiungere un nuovo ppa. askubuntu.com/questions/65468/…
geneorama,

@genorama Ecco le istruzioni per aggiornare svn per Mac OS che funzionerà se a partire da 1.6 redfinsolutions.com/blog/update-subversion-mac-os-x . Per Linux, immagino sia simile.
Mike Eng,

1
"Questo comando potrebbe richiedere del tempo e, per alcuni utenti, potrebbe essere più pratico eseguire semplicemente il checkout di una nuova copia funzionante." Sto eseguendo il comando non sapendo cosa aspettarmi, dopo 2 secondi la console risponde aggiornato "." : P
rabidmachine9

57

da eclipse, è possibile selezionare sul progetto, fare clic con il tasto destro del mouse-> team-> upgrade


Impossibile trovare l'opzione di aggiornamento
Amit Thaper

6

Su MacOS:

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

    aggiornamento svn


3

Se hai appena eseguito l'aggiornamento a SVN 1.7 sulla tua macchina (come ho appena fatto) e hai molti progetti nell'area di lavoro di Eclipse che devono essere aggiornati, puoi fare quanto segue in una finestra 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

Vedi la risposta di Alexey Shcherbak a metà pagina.


2

Questo problema è dovuto al fatto che si tenta di compilare un progetto che contiene i file di SVN precedenti a quelli attualmente utilizzati.

Hai due soluzioni per risolvere questo problema

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

2

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

In questo caso, basta cercare un file .svned eliminare le .svncartelle che non si desidera (ovviamente non cancellare le proprie alla radice).


1

Dopo aver eseguito l'aggiornamento all'ultima versione di Tortoise-SVN, prima dovevo fare un "Upgrade" (anziché "Update"!).


1

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 a v1.8.

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

Altre informazioni sono disponibili nelle FAQ dei clienti Subversion di Netbeans .


1

Con AnkhSVN in Visual Studio, c'è anche un'opzione "Aggiorna copia di lavoro" nel menu di scelta rapida per la soluzione in Esplora soluzioni (se applicabile).


0

È possibile eseguire l'aggiornamento a Subversion 1.7. Per aggiornare a Subversion 1.7 devi avviare un progetto esistente in Xcode 5 o superiore. Verrà visualizzato un avviso ' The working copy ProjectName should be upgraded to Subversion 1.7' (mostrato nell'immagine seguente).

Schermata di avviso

È necessario selezionare il Upgradepulsante ' ' per passare a Subversion 1.7. Questo richiederà un po 'di tempo.

Se si utilizza il terminale, è possibile eseguire l'aggiornamento a Subversion 1.7 eseguendo il comando seguente nella directory del progetto: svn upgrade

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

Consulta i documenti Apple per maggiori dettagli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.