2010-02-17 16 views
18

Sto lavorando a un progetto in cui qualcuno ha archiviato alcune cartelle e file che non sono nel repository e supponiamo di essere sul nostro locale, provo a eliminarli il seguente comando e mi dà questo erroreSVN delete --keep-local

svn delete filename --keep-local 
svn: invalid option: --keep-local 
+2

Quale versione di SVN hai? --keep-local è stato aggiunto solo in una versione successiva. – Pace

risposta

20

Aggiornamento a latest version of the SVN client. La versione che hai installato non ha ancora l'opzione --keep-local. Questa funzione era added in SVN 1.5.

+2

Ricorda inoltre che se hai l'ultima versione di Tortoise o Ankh, questo non aggiorna il client della riga di comando. :) –

+0

c'è qualcosa come --keep-local in TortoiseSVN? Trovato – mbx

+6

: SHIFT + RightClick apre il menu esteso che contiene Elimina (keep local) – mbx

6

As wcoenen and Dave Markle said, si dispone di una versione precedente che non dispone dell'opzione --keep-local. Per essere più specifici, questa opzione è stata introdotta nella versione 1.5.

Per risolvere il problema:

  1. Copiare i file dalla vostra copia di lavoro
  2. svn delete
  3. svn commit
  4. copiarli di nuovo nella copia di lavoro
  5. aggiungerli al svn:ignore in modo da don essere controllato di nuovo!
+0

Ho dato questo +1 perché anche con l'opzione keep-local, ho ancora avuto problemi nell'eliminazione di alcuni anni di file binari aggiunti in modo errato dal mio repository. L'uso di keep-local e svn: ignore ha solo causato la cancellazione completa dei miei file - avevo ancora bisogno di tenerli, non li volevo nel mio repository :) –

13

prega di notare che delete --keep-local mantiene solo i cancellati file/cartelle nella tua copia di lavoro locale.

Quando i tuoi colleghi eseguono il successivo update, i file/cartelle interessati verranno eliminati nelle loro copie di lavoro.

L'opzione keep-local non è utile come molte persone sembrano pensarlo.

+0

C'è un modo per mantenere locale sulle copie di lavoro di tutti – miningold

+1

Là sono momenti in cui è effettivamente utile. Ad esempio, su linux svn ignora le modifiche ai permessi dei file dopo il commit iniziale del file. Questo può essere frustrante se si dispone di uno script di shell che si è dimenticato di contrassegnare eseguibile. Eliminerò la copia di svn mantenendo la mia versione locale, assicurandomi di avere le autorizzazioni che voglio siano corrette, quindi svn aggiungo il file nel controllo di versione e lo script di shell è permanentemente eseguibile. –