2012-05-02 18 views
43

Ho una copia funzionante per il mio intero repository, che contiene più progetti Python. Quando scelgo tasto destro del mouse -> SVN Update in Windows File Explorer sto ottenendo un messaggio di errore messa in vendita di un particolare cartella di progetto:TortoiseSVN segnala conflitti, ma non è possibile trovare conflitti

Command: Update 
Updating: path\to\working\copy 
Skipped obstructing working copy: path\to\working\copy\project 
Completed: At revision: 176 
Warning!: One or more files are in a conflicted state. 

Quando vado a tale progetto e fare clic destro -> SVN Update, si aggiorna correttamente. Non è disponibile anche l'editor di conflitti e quando faccio clic con il tasto destro del mouse su> TortoiseSVN -> Risolto non ci sono file disponibili.

Quale potrebbe essere la causa del conflitto? Finché questo continua a verificarsi, è impossibile aggiornare questo progetto nella mia copia di lavoro.

risposta

88
Skipped obstructing working copy 

ciò significa che c'è una cartella di copia di lavoro nel modo: l'aggiornamento vuole aggiungere una cartella con il nome di 'progetto', ma hai già una cartella di versione 'progetto' nella copia di lavoro. Forse hai spostato quella cartella da un'altra copia funzionante? O quella cartella è la sua copia di lavoro (se ha le cartelle nascoste .svn allora è una copia indipendente, separata).

Per risolvere: spostare la cartella fuori dalla copia di lavoro (o semplicemente eliminarla). Quindi eseguire di nuovo l'aggiornamento. L'aggiornamento recupera una cartella con lo stesso nome di nuovo. Ma potrebbe non essere la stessa cosa che avevi - ecco perché ti consiglio di spostare la cartella ed eliminarla solo dopo aver controllato che la cartella aggiornata sia identica alla cartella originale.

+1

Grazie @Stefan - Ha funzionato. Non sono ancora sicuro di come sia successo perché la cartella che ho spostato e la cartella che è stata aggiunta alla copia di lavoro quando si utilizza SVN Update erano esattamente identici. Grazie per l'aiuto. – Brian

+1

Grazie per averlo definito in inglese semplice! –

+0

Ho creato una copia di lavoro utilizzando l'opzione "crea repository here" in una sottocartella. Quindi ho fatto "Check out" nella cartella principale. Questo mi fa avere due copie di lavoro. Ho risolto eliminando la sottocartella. Grazie per questa soluzione semplice e funzionante !!! –

4

Provare con il tasto destro/TortoiseSVN/ripulire.

Questo di solito funziona per me.

+0

Dovrei farlo nella cartella di lavoro o nella cartella di progetto – Brian

+0

nella cartella che hai selezionato (la cartella che hai impegnato) –

+0

Ho appena provato a pulire entrambi e nessuno dei due ha funzionato, ma grazie per l'aiuto. Mi dimentico sempre di ripulire. – Brian

7

È inoltre possibile selezionare l'opzione "Elimina file e cartelle non verificati" nel menu di pulizia se la versione svn lo supporta. Questo rende sicuramente le cose più facili invece di cercare quelle cartelle una per una (le ho sempre trovate copie non versionate).

Attenzione però che non ti stai localmente dimenticando di commettere nuove aggiunte di file valide prima di procedere con questa pulizia ..!

1

Ero in esecuzione lo stesso problema ma stava accadendo nella radice di un ramo molto grande (c:\svn\root). Lavoro in profondità (c:\svn\root\some\dir\deep\down\) in una sola directory, quindi la spiegazione di Stefan del problema e della soluzione non aveva senso.

La soluzione alternativa era aggiornare ognuna delle directory singolarmente in c:\svn\root\ per poi tornare indietro e aggiornare c:\svn\root\. Questo ha funzionato per me. Non sono sicuro di quale fosse il problema.

0

Ho risolto questo problema senza dover spostare i file, come i miei obstructed sottocartelle sono stati correttamente collegati alla svn:

  1. di arrivo di tutti i file delle cartelle aventi lo Skipped obstructing working copy
  2. Ora è possibile eliminare in modo sicuro il obstucted cartelle (come abbiamo check-in prima di tutto)
  3. eseguire un aggiornamento sulla cartella principale

Ora l'intera cartella è di nuovo pulire e gli aggiornamenti sulla cartella principale funzionano.