2009-12-25 2 views
10

Sto lavorando sotto Windows usando il client tartaruga e ho apportato molte modifiche, tra cui molte eliminazioni, aggiunte, ecc. Quando provo e mi impegno ottengo il seguente errore, ma non posso dire quale directory è la fonte del problema?Come dire quale directory è il problema quando la tartaruga svn si lamenta

Non può non ricorsivo commettere una delezione directory di una directory con nodi figli Per impegnarsi in modo ricorsivo e risolvere questo errore, assicurarsi che tutti gli elementi figli di una cartella controllato vengono controllati anche nella finestra di commettere. In caso contrario, TortoiseSVN deve eseguire un commit non ricorsivo che non consente l'eliminazione delle directory.

Eventuali suggerimenti, ive hanno esaminato il registro delle azioni e così via, ma questo dà solo lo stesso messaggio di errore senza il nome effettivo della directory.

+0

FWIW, penso che questo possa accadere se si sposta/rinomina una cartella e quindi si sposta/si rinomina nuovamente. – Benjol

risposta

5

Vorrei provare a utilizzare il client della riga di comando svn, che potrebbe fornire ulteriori informazioni.

In generale, è buona norma utilizzare TortoiseSVN ogni volta che si desidera eliminare una cartella nella copia di lavoro.

+2

Alla fine ho appena usato un altro client RapidSVN ha fatto il lavoro e saltato il reclamo. Ho votato come risposta corretta perché la cosa giusta da fare era usare qualsiasi cosa tranne la tartaruga. –

15

Probabilmente hai un controllo sparse. Per modificare questa:

RightClick -> Tortoise -> Aggiornamento alla revisione ...

Set Aggiornamento di profondità a Fully ricorsivo, e poi ha colpito OK

+0

Quello che sembrava funzionare per me è farlo allora, e poi fare di nuovo un aggiornamento regolare. (O un po 'di magia ...). – Jiminion

5

Commit gli elementi eliminati prima.

+2

Questo significa che si finiscono molti piccoli commit, che dovrebbero davvero andare insieme come un unico grande gruppo. –

6

Ho avuto lo stesso problema e penso che potrebbe essere perché avevo una lista di modifiche "ignore-on-commit", con elementi non modificati (e ovviamente non selezionata).

Per risolvere il problema, ho svuotato la lista delle modifiche, chiuso la finestra di commit e provato di nuovo a eseguire il commit: questa volta ha funzionato bene (ho provato prima senza chiudere la finestra di dialogo e non ci riuscì).

Mi è venuta l'idea dopo aver letto il file di aiuto tsvn, sezione "E.2.4. Impegna". Dice "Se hai lasciato tutte le caselle di selezione dei file nel loro stato predefinito, TortoiseSVN usa un singolo commit ricorsivo della copia di lavoro.Se deseleziona alcuni file [...] ogni percorso deve essere specificato individualmente sulla riga di comando di commit"

+0

Grazie! Ho avuto lo stesso problema oggi quando ho provato a cancellare una cartella con i file. La rimozione delle liste di modifiche ha risolto il problema. – ainokna

+0

Nel mio caso, ho avuto una cartella Obstructed che non stavo commettendo e che non era correlata a nessuna delle mie modifiche che stava causando il problema. Una volta risolto l'errore, il commit ha funzionato. – Rachel

3

È possibile risolvere questo messaggio di errore da TortoiseSVN eseguendo il commit al livello della cartella radice del repository, fare clic con il pulsante destro del mouse sulla cartella principale del repository e fare clic su commit. Fare clic su commit nella cartella principale non sembra essere lo stesso e produce l'errore.