2010-02-04 54 views
1

问候,是否有将XCode快照导入新的SVN存储库?

我一直在XCode工作一段时间的项目。我一直在使用xcode快照作为基本的版本控制。但是,我已经决定,现在是时候进入一个真正的SCM系统,所以我打算创建一个存储库并将我的项目导入到SVN中。

我的问题是:有没有办法将我的快照历史记录导入到SVN中,以便我在我创建的新SVN项目存储库中拥有我以前(快照)更改的完整历史记录?

任何信息将不胜感激。

谢谢。

+0

+1这适用于使用相同的基本版本控制的任何开发项目(不只是XCode)。例如,我也处于这种情况,但我的代码是Perl CGI。你会重写问题标题和身体更一般吗? – therobyouknow

回答

2

我想通过说snapshot你意味着你存储整个项目树在不同的文件夹或创建某种类型的档案。在这种情况下,这里有你需要遵循的步骤:

  1. 初始化存储库(与svn admin命令)
  2. 导入最早期的快照(我们将其命名为S1)到库
  3. 提交更改
  4. 将工作文件复制到包含一个快照(S2)
  5. 提交更改
  6. 重复步骤4-5的所有快照(从S3到SN)
  7. 在年底你将有你的整个快照的历史在你的仓库

也有这样的概念作为changesetdiffpatch。在存储差异而不是快照的情况下,工作流程会有所不同。而不是仅将快照复制到工作副本(在第4步),您需要将相应的补丁(diff)应用于工作副本。

+1

确实如此,但步骤4可能并不像听起来那么简单。必须注意确保在版本控制系统中正确处理添加,删除,重命名和移动,这些版本控制系统在发生此类操作时要明确告知(当使用纯粹的基于内容的系统(如Git)时,这会大大简化。像svn_load_dirs http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html#svn.advanced.vendorbr.svn_load_dirs这样的工具可以帮助这一点。 –

+0

+1作为答案。这也可以为自动化编写脚本。 – therobyouknow

+0

...因此,如果存在这种累积性问题,对于出现过时的文件(导致生产力损失)以及最糟糕的构建失败,最多会产生混淆(特别是对新开发项目的开发人员,加快速度)。感谢您指出@Chris Johnsen并在svnbook链接中提供解决方案。 – therobyouknow

相关问题