2009-11-13 12 views
8

Sto provando a impegnarmi un po 'di lavoro, ma svn fallisce sempre e mi dice che un file che ho modificato non è aggiornato. Ho provato prima l'aggiornamento, non funziona. La pulizia non funziona. Se ripristino il file, copio le mie modifiche e provalo, non funziona ancora. Inoltre, non è solo un file particolare, se restituisco il tutto a una revisione precedente e modifica qualsiasi file, questo problema si verifica ancora.non può impegnarsi in svn perché la copia di lavoro è sempre scaduta

Sono fuori di idee. Qualcuno ha qualcosa?

Grazie.

risposta

5

Provare a creare un nuovo checkout, quindi copiare le modifiche ad esso. Ho avuto alcuni problemi inspiegabili con TortoiseSVN, e questa è stata l'unica cosa che mi ha aiutato.

+0

Mi sono imbattuto nello stesso tipo di problemi io stesso, e la soluzione era sempre la stessa ... Nuova copia di lavoro, copia manuale delle modifiche, commit, cancella copia funzionante ... –

2

Ecco uno scenario comune che ho visto causa un sacco di mal di testa. È possibile che tu stia in questo stato:

  1. La copia di lavoro è in uno stato non funzionante. SVN si lamenta che il file 'bar' nella directory 'foo' sta causando problemi.
  2. Lo sviluppatore esegue una copia di backup della directory foo.
  3. Lo sviluppatore elimina foo dir dalla copia di lavoro.
  4. Lo sviluppatore svn update, foo e bar vengono ripristinati e svn è felice.
  5. copie sviluppatori copia di backup del foo ripercorrere nella copia di lavoro e svn non è più felice e non è più in grado di aggiornare e/o commettere

L'errore fatale qui è stato quando lo sviluppatore ha fatto un backup di dir 'foo', hanno anche fatto il backup di tutte le nascoste ".svn" directory annidate all'interno di foo.

Quindi, la soluzione (nella mia esperienza), è quella di utilizzare la funzionalità "esportazione" di tortoise svn per creare una copia di backup di foo. Tortoise svn Export creerà una copia della struttura della directory senza alcun meta dati svn (directory .svn). In questo modo, una volta tornati al passaggio 3 e svn è felice, quando si copia nuovamente il backup nella directory di copia di lavoro, svn dovrebbe essere in grado di acquisire correttamente le modifiche.

Quindi, se si tratta solo di un singolo file per cui si sta creando una copia di backup, ciò non sarà di aiuto.

+0

Questo è stato bello e chiaro. molte grazie! –

3

Se è possibile aggiornare il file, la copia di lavoro sembra funzionare correttamente.

Hai aggiornato la directory o solo il file? Ho avuto situazioni in cui svn non è stato possibile eseguire il commit perché le proprietà della directory sono cambiate nel repository. Un aggiornamento sulla directory ha risolto questo problema.

Un'altra prova è utilizzare svn cleanup.

Nuovo checkout è l'ultima risorsa.

0

Per me, questa procedura ha funzionato: Su un singolo file, avevo ripristinato una vecchia versione del file. Quando ho voluto impegnare il progetto, ho ricevuto il messaggio che questo particolare file non è aggiornato e non è stato eseguito il commit.

Cosa si deve fare è copiare il contenuto del file e tornare alla versione svn più recente di questo file.

Al termine, copiare nel file il contenuto salvato e quindi eseguire il commit. Questo ha funzionato per me.

0

Ho riscontrato questo errore durante la ridenominazione dei pacchetti java (directory per svn).

L'ho risolto facendo "Override and Update" nella directory cancellata (ne ho trovata una vuota nel mio progetto). Quindi ha eseguito il commit della nuova directory con i file. Dopo che è stato eliminato, il nuovo nome è stato rinominato nel progetto e l'ha nuovamente eseguito.

Problemi correlati