如何在Xcode 6上设置svn存储库?

时间:2015-04-13 06:26:46

标签: ios svn xcode6

我刚开始使用Xcode并尝试在远程Windows服务器上添加Subversion存储库。当我输入Subversion存储库的位置路径时,它显示以下错误消息:

错误讯息:

“无法访问主机。”

请有人帮忙吗?感谢。

1 个答案:

答案 0 :(得分:13)

即使没有Xcode,设置svn源代码控制总是很痛苦,而Apple在与Xcode的集成方面无法提供帮助。它从版本变为版本,最新版本与版本5相似,因此在Xcode 6中也是如此。 这个解决方案的唯一问题是我们总是需要结合命令行和Xcode GUI步骤,但这是唯一可行的解​​决方案,所以我们将遵循这一点,但在可能的情况下使用Xcode。

由于我做了好几次但总是遇到各种问题,所以我决定详细而清晰地了解最新的描述。

  

服务器端

即使您可以在您的计算机上安装svn服务器,即使您单独工作,它也不是一个安全的解决方案。您可能会因故障硬盘或任何意外而丢失​​多年的工作。所以在另一台计算机上制作它。 你需要一个svn服务器安装和登录。您可以检查它,只需ssh到您的服务器并使用终端

中的命令
which svn

如果你得到一个版本号,你可能在该服务器上有一个活的存储库目录,你可以访问它。具体位置取决于您的安装,但在我们的情况下,主存储库目录是: https://myserver.me.com/Library/Subversion/Repository/

您将在此目录下创建新的存储库,例如 https://myserver.me.com/Library/Subversion/Repository/MyNewApp

1。创建新存储库

登录到您的服务器(在我们的案例中为myserver.me.com),然后打开终端实用程序并使用svnadmin create命令创建Subversion存储库。 例如,如果要在现有位置MyNewApp中使用名为/Library/Subversion/Repository/的存储库,则应输入命令:

svnadmin create /Library/Subversion/Repository/MyNewApp

这将创建存储库的主要结构。我们从服务器注销以避免任何问题,并且从现在开始直接从客户端直接使用它。

  

客户端

2。创建文件夹结构

  

注意:为存储库创建层次结构是可选的。为了让svn正常工作,不需要它,但如果你正常工作   计划将多个项目保持在源代码管理之下,然后是它   在开始导入之前,最好先组织起来   项目

我们将在客户端上准备文件夹结构,然后我们将使用名为" import"的svn命令将其传输到服务器。

1.首先在客户端的任何位置创建一个新的临时文件夹 - 例如在桌面上 - 在我们的案例中使用Finder中的项目/存储库名称MyNewApp:

MyNewApp

然后使用确切的名称在其中创建3个其他文件夹:

trunk
branches
tags

2.将文件夹结构导入到svn服务器

使用终端实用程序登录您的客户端并使用" cd"命令进入项目文件夹:

cd MyNewApp
  

提示:获取文件夹到终端的完整路径的最简单方法   没有输入错误的风险是首先输入cd命令和   输入一个空格,然后从Finder中拖动文件夹并将其放在   终端命令行的结束。

3.然后使用终端的svn import命令:

svn import . https://myserver.me.com/Library/Subversion/Repository/MyNewApp -m "Initial import of directories for MyNewApp project."

svn import . svn+sshtunnel://yourLoginName@194.149.155.124/Library/Subversion/Repository/MyNewApp -m "Initial import of directories for MyNewApp project."

第二种是使用ssh密钥最安全的用法,其中194.149.155.124是服务器的IP地址。 svn+sshtunnel://表示它使用svn和sshtunnel,但它可以是任何其他,具体取决于登录机制,如https://svn://"。"在" import"之后命令很重要,它意味着你所在的文件夹。

如果导入成功,您应该看到如下内容:

Adding trunk 
Adding branches
Adding tags

Committed revision 1.
  

注意:这意味着这是您加载到服务器到MyNewApp存储库的第一个已提交版本,并且它受版本控制   带有消息的svn只是引用你所做的,你可以使用   你喜欢什么。现在您已导入了目录结构   您的项目进入存储库,您现在可以删除MyNewApp1   您刚刚创建的计算机上的目录。这样做会有所帮助   以后,当您导入真实项目时,以防止混淆。

3.将Xcode项目导入svn

使用终端导航到您的Xcode项目,并再次确保您在项目文件夹

cd MyNewApp

然后再次使用以下svn命令:

svn import . https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk/MyNewApp1  -m "Initial import of MyNewApp1 project."

或计算机上的确切位置 / Users / myUserName / Apps_Developing / myNewApp

svn import -m "New Import"  /Users/myUserName/Apps_Developing/myNewApp https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk/MyNewApp1

如果导入成功,您应该看到添加文件的长列表...

  

注意:这意味着您导入MyNewApp1(您可以使用任何   name)项目到svn下的trunk。干线扩展非常重要   因为Xcode也使用了命名约定。你可以再加上   您在引号中想要的任何评论,但请确保您的评论   对使用存储库的任何人都有意义。

4.在Xcode中添加存储库

现在启动Xcode并转到Preferences - > Accounts并使用" +"添加新的存储库在左下角

+ Add Repository...

输入存储库地址

https://myserver.me.com/Library/Subversion/Repository/MyNewApp

Xcode screen for adding repository

  

注意:不要使用主干等,您需要存储库的根目录!

5.检查项目以创建工作副本

在Xcode中转到Source Control - > Check Out...

输入主干的存储库地址(如果您之前使用过,则输入分支或标记)

https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk

然后给出工作副本文件夹的名称及其位置

enter image description here

  

注意:后备箱很重要!!!只需在root之后键入它,如果你错过它,你的文件夹中会有trunk等文件夹!目录名称是   如您所愿,例如MyNewAppWorking ...然后选择位置   在我们的案例中,您的计算机就像Apps_Developing一样。