首页 > 代码库 > 先创建项目 后版本化的步骤

先创建项目 后版本化的步骤

导入数据到版本库

导入

如果将项目导入一个已经含有其它项目的版本库中,那么版本库的结构已经确定了。如果要导入到一个新的版本库中,那么最好花点时间来想一下如何设置版本库的结构。阅读 “版本库布局”一节 获得更多建议。

This section describes the Subversion import command, which was designed for importing a directory hierarchy into the repository in one shot. Although it does the job, it has several shortcomings:(这节描述Subversion的inport命令,这个命令被设计用来一步导入一个文件夹结构到对象库中。虽然它是完成这个工作,它有好几个缺点。)

  • (导入时)不能选择包括哪些文件或文件夹,除非使用全局忽略设置。

  • 导入的文件夹不能变成工作副本。你必须通过签出操作从服务器拿回文件。

  • 很容易导入到版本库中错误的文件夹层次。

For these reasons we recommend that you do not use the import command at all but rather follow the two-step method described in “导入适当的位置”一节, unless you are performing the simple step of creating an initial /trunk /tags /branches structure in your repository. Since you are here, this is how the basic import works ...(因为这些原因,我们推荐你索性始终不要使用import命令,而是使用 在导入适当的位置 一节描述的 两步法。除非你正在进行 在版本库创建 初始化文件夹结构 的简单步骤。因为你是需要这样,这是基本的导入如何工作。 )

在将你的项目导入到版本库之前,你应该:

  1. 删除所有构建工程不需要的文件(临时文件,编译器产生的文件,例如 *.obj,生成的二进制文件,...)

  2. 组织目录和子目录内的文件。尽管以后可以改名/删除文件,我们还是建议你在导入之前使你的项目结构组织良好!

现在进入资源管理器,选择你的项目的顶层目录,右击打开上下文菜单。选择命令TortoiseSVN → 导入 ...,它会弹出一个对话框:

图 4.6. 导入对话框

导入对话框

 

在这个对话框中,需要输入版本库所在的 URL,你的项目将会导入到这里。非常重要的事项,你必须了解: 你要导入的本地文件夹自身不会出现在版本库中,版本库中只有文件夹中的内容。例如,你有这样的文件夹结构:

C:\Projects\Widget\sourceC:\Projects\Widget\docC:\Projects\Widget\images

你将 C:\Projects\Widget 导入到 http://mydomain.com/svn/trunk,然后你会惊奇的发现: 你的子目录径直地进入 trunk 中,而不是在 Widget 子目录中。你需要将子目录作为 URL 的一部分明确的指出来,http://mydomain.com/svn/trunk/Widget-X。注意,如果版本库中不存在指定的子目录,导入命令将会自动创建它们。

这个(import message)输入信息将用作提交日志。

默认情况下,匹配全局忽略模式的文件和文件夹不会被导入。你可以使用包含忽略文件检验栏来禁止此行为。参考“常规设置”一节以获得关于全局忽略模式的更多信息。

当你点击确认时,TortoiseSVN 会导入包含所有文件的完整目录树到版本库。现在这个工程就存贮在版本库,被版本控制。请注意,你导入的文件夹没有被版本控制!你需要检出刚才导入的版本,以便获得受版本控制的工作副本。或者继续阅读,找到如何导入文件夹到合适的位置。

导入适当的位置

假定你已经有个版本库,你想给它增加一个新(项目)目录结构,只需以下步骤:

  1. Use the repository browser to create a new project folder directly in the repository. If you are using one of the standard layouts you will probably want to create this as a sub-folder of trunk rather than in the repository root. The repository browser shows the repository structure just like Windows explorer, so you can see how things are organised.(使用对象库浏览器直接在对象库里创建一个新的项目文件夹。假如你正在使用某种标准布局,你可能想创建这个文件夹作为trunk的子文件夹,而不是对象库的root文件夹。对象库浏览器显示对象库结构和Windows资源管理器一样,所以你可以看见事情是被如何组织的。

  2. Checkout the new folder over the top of the folder you want to import. You will get a warning that the local folder is not empty. Ignore the warning. Now you have a versioned top level folder with unversioned content.(Checkout 这个新创建的对象库文件夹 在 你想import项目文件夹的顶层上。你会得到一个警告,这个本地、目标文件夹——就是原来已经存在的项目顶层文件夹 不是空的,忽略这个警告。现在,你有了一个版本化的顶层项目文件夹 里面有未版本化的内容

  3. 在此受版本控制的文件夹上使用TortoiseSVN → 增加...增加部分或全部内容。你可以增加或删除文件,在文件夹上设置svn:ignore属性,或者你需要的其它修改。

  4. 提交顶级目录,你有一个新的版本树,一份从你已有目录创建的本地工作副本。

先创建项目 后版本化的步骤