2011-02-01 33 views
1

我成功設置了SVN和XCode,它非常酷! 我承諾,更新,我甚至標記(在終端中,儘管...)!所有這些都很簡單 現在我想與不同的分支合作,但我有點困惑。如何在XCode(SVN)中使用分支

I'v跟着this tutorial,它有一個關於分支的部分。它說什麼就是使用這個腳本:

#!/bin/ksh 
# A script to branch a SVN trunk 
reporoot=/Library/Subversion/Repository/ 
projdir=Projects 

# Prompt for repository name 
print -n "Enter repository name:" 
read repo 

# Prompt for project name 
print -n "Enter project name:" 
read project 

# Prompt for branch name 
print -n "Enter branch name:" 
read branch 

# Create branch 
svn copy file://$reporoot/$repo/$projdir/$project/trunk file://$reporoot/$repo/$projdir/$project/branches/$branch -m "Creating a branch of the ‘$project‘ project." 

echo 
echo Creation of a branch of the $project project complete! 
echo 

但我看到的是它只是一個shell腳本,複製當前樹幹分支(如標籤)。所以如果我這樣做,我仍然會在後備箱中承諾?

您是否有任何想法能夠輕鬆地在分支之間「切換」以進行更新和提交?

非常感謝。

+0

我也希望能夠做到這一點。如何切換到Xcode內部或外部的分支?當然,版本控制的要點是能夠在同一個Xcode項目中查看不同分支或版本的項目?這似乎很難通過分支來實現。也似乎不可能將一個分支與另一個分支進行比較,儘管我認爲這是SVN本身的內置。 – 2011-02-17 15:08:17

回答

2

subversion沒有分支系統。這就是爲什麼你通常會看到一個包含「trunk」,「tags」和「branches」的文件夾。如果你希望能夠在分支和trunk之間切換,你可能需要爲你使用的分支創建一個符號鏈接。如果您稍後希望切換分支,則只需重新創建此符號鏈接即可。

我不確定Xcode是否喜歡這個,雖然,或不。

1

嘗試XCode 4,它允許創建分支,在完整模式下切換和合並它們,而不是XCode 3用來做它的方式。

已更新:在創建新分支後,您應該使用svn switch。它會更新你的工作副本。

例子:

svn switch http://[email protected]:8080/svn/alb.iphone/Branches/SuperFastAlgo 

全面介紹here

+0

很高興知道XCode 4比XCode 3做得更好!但我們無法切換,因爲Google Toolbox for Mac不支持XCode 4 – Julien 2011-03-17 15:20:42

1

我會使用的Git在SVN和使用GitX。與分支機構一起工作會更容易,特別是如果您想實際使用它們而不是花費半小時的時間進行合併。 XCode3 SCM集成不是特別全面。如果可能的話,我會嘗試使用Git的XCode4,並克隆並添加供應商庫作爲子模塊。 (截至2012年,這一切都是SOP)。

您始終可以使用git svn命令(sample tutorial)。

還有一個Objective-C .gitignore Github project。只有在項目根目錄下才能進行Git回購,這也是一大優勢。

+0

我最終放棄了SVN,並使用GIT。這是每個人都建議的,他們是對的! – Julien 2012-05-11 13:28:37