2013-10-04 48 views
6

我將我的系統上的Subversion客戶端更新爲1.8.3。我從Xcode 5的Source Control菜單中檢出了我的存儲庫。然後在終端打開該目錄,並執行svn update命令只是爲了檢查。我得到這個消息 -使用SVN 1.8.3與Xcode 5

在「/路徑」的工作副本太舊(格式29)與客戶端版本 「1.8.3(r1516576)」工作(預計格式31)。您需要先升級 工作副本。

如果我升級我的副本,我無法訪問源代碼控制菜單選項,因爲該版本是過高的XCode 5

後來我發現這個XCode 5 Features Link它說,SVN的Xcode是在版本1.7.9。

  1. 我不知道怎麼有我的系統上2個版本SVN的
  2. 我怎樣在1.8.3和Xcode的5個工作(一個由Xcode的是1.7.9和其他在1.8.3維護)我真的很想使用XCode的GUI。

回答

9
  1. 這些只是兩個不同的客戶端應用程序。
  2. 您可以通過設置XCSubversionToolPath來設置路徑到XCode的顛覆客戶端,例如, (實際SVN 1.8路徑替換):

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

謝謝!進一步挖掘,我發現了將來可以使用的xcode默認值列表。當我將它設置爲正確的路徑時,我必須進入xcode的源代碼控制首選項並重新連接它,但它正在工作。 – IanStallings

+0

@IstStings你做了什麼重新連線?你有沒有做一個新的結賬? –

+0

這正是我所要做的。我確信我所有的代碼都被簽入了。然後在xcode中,我做了一個「簽出」,並在出現提示時相應地設置svn倉庫信息。 – IanStallings

23

寫 '默認' 不會爲Xcode的5與位於它自己的SVN二進制更新的版本的Xcode船的工作:

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

您需要更換此二進制文件以將Xcode的SVN客戶端升級到1.8。假設你的新SVN客戶端位於/ usr/local/bin目錄/(默認BREW安裝路徑),在終端中輸入以下內容:

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 

我在Xcode 5.1和SVN 1.8.8這樣做,沒有有任何問題。

+0

感謝似乎爲我工作得很好。使用釀造。 – bentech

+0

我的/ usr/bin svn位置沒有svnrdump。不知道如何匹配它。 – Miek

+0

然後不要執行這兩行: 'sudo mv ./svnrdump ./ svnrdump.org' 'sudo ln -Ff/usr/local/bin/svnrdump svnrdump' –

3

上面的解決方案最終爲我做了Xcode 5.1的工作;我縮短了上面的代碼,隨時適當地改變你的目錄(如,因爲我使用的MacPorts我的svn二進制在/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 

除此之外,請刪除project.xcworkspace,如果你正在運行更新SVN後出現問題,並確保您運行的是正確版本的Xcode! (我仍然在運行Xcode 5.1 BETA,同時試圖驗證我對Xcode.app目錄所做的更改......愚蠢的錯誤,但花了我一段時間才弄清楚)