我成功设置了SVN和XCode,真的很酷! 我承诺,更新,我甚至标记(在终端虽然......)!这一切都很简单 现在我想与不同的分支机构合作,但我有点困惑。
我跟着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脚本,它将当前的trunk复制到一个分支(比如一个标签)。所以,如果我这样做,我仍然会在后备箱中进行操作吗?
您是否知道如何在分支机构之间轻松“切换”更新和提交?
非常感谢。
答案 0 :(得分:2)
subversion没有分支系统。这就是为什么你经常会看到一个带有“trunk”,“tags”和“branches”的文件夹。如果您希望能够有效地在分支和主干之间切换,则可能需要为正在使用的分支创建符号链接。如果您以后希望切换分支,只需重新创建此符号链接。
我不确定Xcode是否喜欢这个。
答案 1 :(得分:1)
尝试XCode 4,它允许创建分支,切换并以完整模式合并它们,而不是XCode 3用来做它的方式。
更新:您应该在创建新分支后使用 svn switch 。它会更新你的工作副本。
示例:
svn switch http://slitvinov@192.168.1.117:8080/svn/alb.iphone/Branches/SuperFastAlgo
完整说明为here
答案 2 :(得分:1)
我会使用Git over SVN并使用GitX。您可以更轻松地使用分支机构,特别是如果您想要实际使用它们而不是花费半小时进行合并。 XCode3 SCM集成并不是特别全功能。如果可能的话,我会尝试使用Git的XCode4,并克隆并添加供应商库作为子模块。 (截至2012年,这都是SOP)。
您始终可以使用git svn
命令(sample tutorial)。
还有Objective-C .gitignore Github project。只在物理根目录中使用Git repo也是一大优点。