我刚开始使用Xcode并尝试在远程Windows服务器上添加Subversion存储库。当我输入Subversion存储库的位置路径时,它显示以下错误消息:
错误讯息:
“无法访问主机。”
请有人帮忙吗?感谢。
答案 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
登录到您的服务器(在我们的案例中为myserver.me.com
),然后打开终端实用程序并使用svnadmin create命令创建Subversion存储库。
例如,如果要在现有位置MyNewApp
中使用名为/Library/Subversion/Repository/
的存储库,则应输入命令:
svnadmin create /Library/Subversion/Repository/MyNewApp
这将创建存储库的主要结构。我们从服务器注销以避免任何问题,并且从现在开始直接从客户端直接使用它。
客户端
注意:为存储库创建层次结构是可选的。为了让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 您刚刚创建的计算机上的目录。这样做会有所帮助 以后,当您导入真实项目时,以防止混淆。
使用终端导航到您的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也使用了命名约定。你可以再加上 您在引号中想要的任何评论,但请确保您的评论 对使用存储库的任何人都有意义。
现在启动Xcode并转到Preferences
- > Accounts
并使用" +"添加新的存储库在左下角
+ Add Repository...
输入存储库地址
https://myserver.me.com/Library/Subversion/Repository/MyNewApp
注意:不要使用主干等,您需要存储库的根目录!
在Xcode中转到Source Control
- > Check Out...
输入主干的存储库地址(如果您之前使用过,则输入分支或标记)
https://myserver.me.com/Library/Subversion/Repository/MyNewApp/trunk
然后给出工作副本文件夹的名称及其位置
注意:后备箱很重要!!!只需在root之后键入它,如果你错过它,你的文件夹中会有trunk等文件夹!目录名称是 如您所愿,例如
MyNewAppWorking
...然后选择位置 在我们的案例中,您的计算机就像Apps_Developing
一样。