File mancante TortoiseSVN in aggiornamento


12

Occasionalmente abbiamo avuto un problema con TortoiseSVN (suppongo sia Tortoise e non il nostro repository SVN), in cui un file verrà archiviato nel repository (facendo un repo-browser puoi vedere i file lì) ed esisterà per la persona chi li ha commessi, ma quando un'altra persona esegue un aggiornamento, quei file non verranno aggiunti alla copia di lavoro. Se poi scelgo "Copia su copia funzionante ..." dal browser repo e provo un commit, i file vengono considerati come nuovi per me e il mio client prova ad aggiungerli, dando un errore. L'aggiornamento comporta anche alcuni errori (non so come riprodurlo, quindi non so cosa lo causerebbe in modo specifico e non ricordo gli errori esatti). Devo quindi eliminare i file dal repository e confermare i file come nuovi. Dopodichè,

È possibile accedere al repository tramite il protocollo svn: // a un server che esegue la versione 1.4.6. È ospitato su un computer Windows Server 2003 in esecuzione come servizio Windows.

Il repository è strutturato come segue:

[Repository] / Codice / [progetti]
[repository] / Code / [Website] / * alcune pagine qui *
[repository] / Data / [file di dati misc]
[Repository] / Riferimenti / [DLL / riferimenti]

Questo accade quasi esclusivamente con .aspx / .aspx.cs / .aspx.designer.cs, e di solito tutti e 3 alla volta. Come se un'intera "pagina" non verrà aggiunta alla mia cartella. Ciò è accaduto con Visual Studio aperto e in esecuzione la soluzione, e anche senza Visual Studio aperto.

Qualcuno l'ha mai visto prima e conosci la causa / soluzione?


1
Potresti pubblicare la versione di TortoiseSVN e come è ospitato il tuo SVN (http: //, svn: //, local, ecc.) E con quali mezzi (Apache, IIS, VisualSVN, ecc.) Compresi eventuali altri numeri di versione.
Richard Slater,

1
Prova anche a ricreare le directory di lavoro (basta crearne una aggiuntiva) per vedere se qualcosa è andato storto alla prima uscita.
Riconnettere il

1
Come primo passo, aggiorna all'ultima versione di TSVN (1.6.3 in questo momento). Credo che ci sia stato un bug correlato in 1.6.x che è stato corretto nella versione 1.6.2.
Milen A. Radev,

2
Stiamo riscontrando lo stesso problema con il client TortoiseSVN 1.7 connesso a un repository Subversion 1.6. C'è una soluzione simile là fuori da qualche parte?
JNappi,

Risposte:


10

Ho anche avuto il problema descritto a volte. Al momento è successo di nuovo. Stessa situazione: c'erano più file modificati / aggiunti / cancellati / spostati sul server SVN da un client SVN A e il client SVN B ha aggiornato la sua copia di lavoro (usando Tortoise SVN). Dopo l'aggiornamento, alcuni dei file aggiunti da A non sono presenti nella copia di lavoro di B, ma il browser del repository li mostra nella posizione corretta sul server SVN. L'aggiornamento di nuovo con Tortoise afferma sempre che tutto è alla revisione attuale. Anche uno "svn up" nella cartella in cui mancano i file dice che tutto è alla revisione corrente.

sto usando

Tortoise SVN 1.6.6, Build 17493 - 64 Bit

Visual SVN 1.7 (integrazione SVN in Visual Studio 2008)

Modifica: sembra essere un problema noto, ecco la soluzione: http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2379518


1
Per chiunque altro: ecco la soluzione diretta: per ciascuna delle fastidiose copie di lavoro utilizzare "Aggiorna alla revisione" e impostare la profondità della copia di lavoro su "Completamente ricorsivo".
coding_idiot il

3

puoi verificare se è tartaruga o svn usando gli strumenti da riga di comando. digitare 'svn up' nella directory principale del WC.

Come dici che sei su 1.4.6, non hai problemi con le directory sparse. Hai ignorato i file nelle impostazioni del tuo client? Sei sicuro che il tuo WC stia puntando all'URL corretto nel repository e non sia passato a un altro ramo? (puoi vederlo nelle proprietà della cartella: c'è una scheda di sovversione)

Se fai "svn status" nel tuo WC dovresti vedere la lista dei file modificati nella directory del server.


3

Ho riscontrato lo stesso problema con SVN 1.6.2 e 1.6.3 (riga di comando, tartaruga e sottoclipse). quindi sembra che il problema sia legato allo stesso SVN. Esiste la seguente soluzione alternativa: prova a effettuare il checkout nella stessa directory: aggiunge solo i file mancanti.


1

Ho anche riscontrato questo errore con Tortoise SVN con almeno 1.6.2 a quello che sto attualmente usando 1.6.5. "Ottieni gli ultimi" non otterrà i file dal repository. Ho dovuto eliminare la directory interessata e ottenere le ultime novità dalla directory principale per ricreare la directory e il suo contenuto.

gbjbaanb, questo non è sicuramente un caso di file ignorati o rami scambiati.


1

Non sono stato in grado di risolvere questo problema usando le istruzioni nel link di Daniel, ma sono d'accordo che sembra essere un problema fondamentale con la maggior parte delle implementazioni SVN in Windows, almeno.

Per risolvere il mio problema con la cartella mancante, i miei passaggi sono stati:

  1. "Aggiorna alla revisione", selezionando un numero di commit prima che qualsiasi file nella cartella sia stato modificato, aggiunto o eliminato e assicurati di scegliere "Completamente ricorsivo". (Questo causerà qualche strano errore in Tortoise. Questo è previsto!)
  2. Eseguire una pulizia.
  3. Aggiorna di nuovo la cartella e dovresti ottenere l'intera cartella!

Spero che questo aiuti qualcun altro là fuori.


0

Sfortunatamente, le risposte precedenti sopra non hanno funzionato per me. Ho avuto lo stesso problema: una cartella su cui stavo lavorando conteneva alcuni oggetti non impegnati. Quella cartella è stata aggiornata con molti oggetti da un altro utente. Potevo vedere gli oggetti di quell'utente nel repository ma ogni volta che facevo un aggiornamento non avrei mai ricevuto gli oggetti di quell'utente.

La correzione che ha funzionato è usare TortoiseSVN Revert sulla cartella.

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.