2013-10-04 9 views
6

Ho aggiornato il client Subversion sul mio sistema a 1.8.3. Ho effettuato il checkout del mio repository dal menu di Xcode 5Source Control. Quindi nel terminale aperto quella directory e ha fatto un comando svn update solo per verificare. Ricevo questo messaggio -utilizzando SVN 1.8.3 con Xcode 5

La copia di lavoro a '/ percorso' è troppo vecchio (formato 29) per lavorare con il cliente versione '1.8.3 (r1516576)' (si aspetta in formato 31). È necessario aggiornare prima la copia di lavoro .

Se aggiorno la mia copia, perdo l'accesso alle opzioni del menu di controllo sorgente perché la versione è troppo alto per XCode 5.

Più tardi ho trovato questo XCode 5 Features Link che dice che SVN per Xcode è alla versione 1.7.9.

  1. Non capisco come ci sono 2 versioni di SVN sul mio sistema (uno gestito da Xcode che è 1.7.9 e altro a 1.8.3)
  2. Come faccio a lavorare con 1.8.3 e Xcode 5 Voglio davvero usare la GUI di XCode.

risposta

9
  1. Queste sono semplicemente due diverse applicazioni client.
  2. È possibile impostare il percorso del client di sovversione di XCode impostando XCSubversionToolPath, ad es. (Sostituire con l'attuale percorso svn 1.8):

    defaults write com.apple.Xcode XCSubversionToolPath /usr/local/bin/svn 
    
+0

Grazie! Scavando ulteriormente ho trovato un intero elenco di default xcode che posso usare in futuro. Quando ho impostato il percorso corretto ho dovuto andare nelle mie preferenze di controllo del codice sorgente in xcode e ricablarlo, ma funziona. – IanStallings

+0

@IanStallings cosa ha fatto il rewiring? Hai fatto un nuovo checkout? –

+0

Questo è esattamente quello che dovevo fare. Mi sono assicurato che tutto il mio codice fosse stato archiviato. Poi in xcode ho fatto un "checkout" e ho impostato le informazioni del repository svn di conseguenza quando richiesto. – IanStallings

23

Scrivendo a 'default' non funziona per Xcode 5. la versione più recente di Xcode nave con il proprio binario SVN situata in:

/Applications/Xcode.app/Contents/Developer/usr/bin/ 

È necessario sostituire questo file binario per aggiornare il client SVN di Xcode a 1.8. Assumendo che il nuovo client SVN si trova in// bin/usr/local (brew predefinito percorso di installazione) digitare quanto segue in un terminale:

cd /Applications/Xcode.app/Contents/Developer/usr/bin/ 
sudo mv ./svn ./svn.org 
sudo mv ./svnadmin ./svnadmin.org 
sudo mv ./svndumpfilter ./svndumpfilter.org 
sudo mv ./svnlook ./svnlook.org 
sudo mv ./svnrdump ./svnrdump.org 
sudo mv ./svnserve ./svnserve.org 
sudo mv ./svnsync ./svnsync.org 
sudo mv ./svnversion ./svnversion.org 

sudo ln -Ff /usr/local/bin/svn svn 
sudo ln -Ff /usr/local/bin/svnadmin svnadmin 
sudo ln -Ff /usr/local/bin/svndumpfilter svndumpfilter 
sudo ln -Ff /usr/local/bin/svnlook svnlook 
sudo ln -Ff /usr/local/bin/svnrdump svnrdump 
sudo ln -Ff /usr/local/bin/svnserve svnserve 
sudo ln -Ff /usr/local/bin/svnsync svnsync 
sudo ln -Ff /usr/local/bin/svnversion svnversion 

ho fatto con Xcode 5.1 e 1.8.8 SVN, non ha ha avuto problemi.

+0

Grazie sembra funzionare bene per me. Usando brew. – bentech

+0

Non c'è svnrdump nella mia posizione svn/usr/bin. non sono sicuro di come abbinarlo. – Miek

+0

Quindi non eseguire queste due righe: 'sudo mv ./svnrdump./Svnrdump.org' ' sudo ln -Ff/usr/local/bin/svnrdump svnrdump' –

3

La soluzione di cui sopra alla fine ha funzionato per me per Xcode 5.1; Ho accorciato il codice di cui sopra, si sentono liberi di cambiare le directory in modo appropriato (ad esempio, dal momento che sto usando MacPorts miei binari SVN sono /opt/local/bin):

export xcode_dir=/Applications/Xcode.app/Contents/Developer/usr/bin 
export svn_files="svn svnadmin svndumpfilter svnlook svnrdump svnserve svnsync svnversion" 
export svn_dir=/opt/local/bin 
for f in $svn_files; do echo "sudo mv -v $xcode_dir/$f $xcode_dir/$f.bak && sudo ln -s $svn_dir/$f $xcode_dir/$f”; done | bash 

In aggiunta a questo, provare a eliminare il tuo project.xcworkspace se si esegue nei guai dopo aver aggiornato SVN e assicurati di avere la versione corretta di Xcode! (Stavo ancora eseguendo Xcode 5.1 BETA mentre tentavo di convalidare le modifiche apportate alla directory Xcode.app ... Errore stupido ma mi ci è voluto un po 'per capire)