2010-05-06 13 views
8

Sto usando svn per il mio progetto xcode. Ho aggiunto due file al mio progetto corrente, li ho aggiunti al repository e ho eseguito il commit delle modifiche per la mia cartella delle classi. Ma quando provo a commettere l'intero progetto, ottengo questo errore:Come gestire i repository svn in xcode

Error: 155005 (Working copy not locked; this is probably a bug, please report) Description: Commit failed (details follow):
Error: 155005 (Working copy not locked; this is probably a bug, please report) Description: Directory '/Users/gopalmadhu/Desktop/All My data/Schduler current code/build/Debug-iphonesimulator/scheduler.app.dSYM/.svn' containing working copy admin area is missing

A causa di questo, le classi che sono già controllati in non diventano visibili quando posso controllare il mio codice fuori. I file sono nel progetto, ma non visibili. Per ovviare al problema, ho bisogno di aggiungerli di nuovo dalla cartella del progetto alla cartella delle classi. Questo non è il modo corretto di gestire svn. Cosa dovrei fare?

+1

Cosa intendi con "commit dell'intero progetto"? Dovresti sempre impegnare codice sorgente e risorse, non creare file. – bastibe

risposta

19

Il tuo problema è quello di inviare i risultati di costruzione a Subversion.

Subversion funziona mettendo una cartella nascosta denominata .svn in ogni cartella che si trova sotto il controllo della versione. Questo non funziona bene con le cartelle che potrebbero essere cancellate e ricreate da uno strumento perché lo strumento probabilmente non rispetterà l'esistenza della cartella .svn. Ciò include l'intera directory di build, i cui contenuti vengono cancellati ogni volta che si puliscono gli obiettivi del progetto.

È necessario rimuovere la directory di generazione dal controllo di versione. Non dovrebbe esserci comunque, dato che tutto ciò che si trova in esso può essere rigenerato eseguendo una build Xcode. Per uscire dal vostro dilemma esistente provare quanto segue:

  1. Eseguire il backup del progetto da qualche parte
  2. In un terminale andare alla directory del progetto e rm -rf build
  3. fare un svn update. A questo punto Subversion si spera che ripristini la directory di build.
  4. svn rm build
  5. svn commit -m "Removed build from version control"
  6. (opzionale) svn propedit svn:ignore . Si aprirà un editor per lo svn: ignore. Aggiungi build su una riga separata. Dopo tale sovversione non verrà mostrata la directory di build nei comandi svn status.
+0

Grazie mille per la tua risposta. Funziona per me in questo caso. grande sollievo ... grazie ancora una volta – ratnasomu

+0

Se ha risolto il problema per te, per favore puoi accettare la risposta :) – JeremyP

+0

ho accettato la risposta Jeremy P. ma ho 1 problema qui puoi risolvere quello dopo aver impegnato il progetto ora se non ho cambiato nulla non mi sta mostrando il simbolo M e commitchanes ecc .. si tratta semplicemente di un file locale .. ho modificato le impostazioni del progetto dnt knw Che succede qui grazie – ratnasomu

0

Puoi anche provare .... XCODE-> Build-> Pulizia di tutti i target option.That ha risolto il mio problema!