SVN:将现有项目导入新代表的工作流程

时间:2013-10-07 13:19:06

标签: svn

在将现有项目(已经正在运行的代码等)导入新存储库之后,我无法完成我必须做的一步。

一切都是这样的:

  1. svnadmin create C:/ Reps / MillionDollarApp
  2. svn import C:/ myCode / MillionDollarApp file:/// C:/ Reps / MillionDollarApp -m“初始导入”
  3. 现在,来自C:/ myCode / MillionDollarApp的代码位于其存储库中,但是,SVN仍然不跟踪C:/ myCode / MillionDollarApp中的代码。

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

    您是否从C:/ myCode / MillionDollarApp中删除了所有内容并从存储库中检出? 你没有删除代码结账吗?这两种解决方案感觉错了。

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

    1. 创建新的仓库
    2. 从现有项目导入(例如,c:/ code)
    3. 结帐到其他地方(例如,c:/ code2)
    4. 使用您刚刚查询的代码(c:/ code2)(您如何处理c:/ code ????中的代码)
    5. 但在我的情况下,我需要:

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

2 个答案:

答案 0 :(得分:3)

svn import没有制作工作副本。您需要执行svn checkout。是否有某些原因你无法删除c:\code然后在那里结帐新的工作副本?如果有的话,svn中缺少一些东西和/或你的项目不太好。

答案 1 :(得分:1)

你可以这样做:

  1. C:/Reps/MillionDollarApp
  2. 创建新的回购
  3. 查看C:/myCode/MillionDollarApp
  4. 提交
  5. ......然后开始工作。一些Subversion客户端(例如TortoiseSVN)会警告你checkout文件夹不是空的但是你仍然可以继续:因为存储库是空的,你不应该丢失任何未版本控制的文件。

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

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

    1. C:/myCode/MillionDollarApp重命名为C:/myCode/MillionDollarApp.orig
    2. C:/Reps/MillionDollarApp
    3. 创建新的回购
    4. 查看C:/myCode/MillionDollarApp
    5. C:/myCode/MillionDollarApp.orig移至C:/myCode/MillionDollarApp
    6. 提交
    7. 我发现import命令更直观,因为我可以预览所有更改。