2

在将现有项目(已经工作的代码等)导入新存储库后,我无法提前完成您必须做的一个步骤。

一切都是这样的:

  1. svnadmin 创建C:/Reps/MillionDollarApp
  2. svn import C:/myCode/MillionDollarApp file:///C:/Reps/MillionDollarApp -m "初始导入"

现在,来自 C:/myCode/MillionDollarApp 的代码位于其存储库中,但是,SVN 仍然不跟踪 C:/myCode/MillionDollarApp 中的代码。

你是怎样做的?如何开始跟踪您刚刚导入的项目代码?

您是否从 C:/myCode/MillionDollarApp 中删除所有内容并从存储库中签出?您是否在不删除代码的情况下结帐?这两种解决方案感觉都是错误的。

大多数教程/示例都是这样的:

  1. 创建新的仓库
  2. 从现有项目导入(例如,c:/code)
  3. 结帐到另一个地方(例如,c:/code2)
  4. 使用您刚刚签出的代码 (c:/code2)(您如何处理 c:/code 中的代码 ????)

但在我的情况下,我需要:

  1. 创建新的仓库
  2. 从现有项目导入 (c:/code)
  3. ???
  4. 使用相同的代码 (c:/code) 工作和使用版本控制功能
4

2 回答 2

3

svn import不制作工作副本。你需要做一个svn checkout. 是否有某种原因您不能删除c:\code然后在那里签出新的工作副本?如果有的话,svn 中缺少一些东西和/或你的项目不太好。

于 2013-10-07T13:54:29.950 回答
1

你可以简单地这样做:

  1. C:/Reps/MillionDollarApp
  2. 退房C:/myCode/MillionDollarApp
  3. 犯罪

...然后开始工作。一些 Subversion 客户端(例如 TortoiseSVN)会警告您 checkout 文件夹不为空,但您仍然可以继续:因为存储库是空的,您不应该丢失任何未版本控制的文件。

这假设您没有使用标准的主干/分支/标签结构。如果需要,您需要创建适当的文件夹(可以直接在存储库中完成)并从例如trunk.

无论如何,如果这是我的代码的唯一副本,我不会感到舒服。我通常这样做:

  1. 重命名C:/myCode/MillionDollarAppC:/myCode/MillionDollarApp.orig
  2. C:/Reps/MillionDollarApp
  3. 退房C:/myCode/MillionDollarApp
  4. 搬入C:/myCode/MillionDollarApp.orig_C:/myCode/MillionDollarApp
  5. 犯罪

我发现该import命令更直观,因为我可以预览所有更改。

于 2013-10-07T15:23:40.977 回答