7

我正在使用 eclipse 并且Subversion (SVN)是我的新版本控制。

到目前为止,我曾经Concurrent Versions System (CVS)用作我的版本控制,并且在部署操作之后,我曾经Tag as Version在 Eclipse 中像这样标记我的项目:
Team --> 'Tag as Version..' --> Version-XYZ

我现在怎么做SVN

4

5 回答 5

9

通常,SVN 有三个根目录,

  1. 树干
  2. 标签
  3. 分支机构

在 SVN 服务器中,对于每个项目,您都具有与上述相同的目录结构。

“主干”是您保存不断开发的代码库的地方。

'tags' 用于您指定的相同目的。即用于版本控制。

“分支”用于功能开发/个人开发之类的事情。

例如,假设我正在开发一个数据库同步应用程序,它将作为 Pilot 版本、Moonshine 版本、Kilimanjaro 版本、Great 版本等发布。

我从“主干”开始并继续我的开发,比如说 2 个月,那时我已经准备好发布 Pilot 了。

然后我创建一个“主干”的“标签”,我可以将其命名为“飞行员标签”,它将发布给客户。

现在我的下一个版本“Moonshine release”的主要功能开发将在“trunk”中继续。如果他们是我的“试点版本”中的任何即时错误修复或显示停止者,这些将在“试点标签”中完成并立即发布给客户。

然而,由于上述修复不在我的“主干”代码中,因此稍后(在发布 Moonshine 版本之前)我会将在“试点标签”中所做的修改“合并”回“主干”。

在这里,可能会出现冲突,因为在“Pilot tag”(用于前面提到的错误修复)和“trunk”(用于新版本的功能修改/开发)中可能已经修改了相同的代码行。在这种情况下,您必须仔细检查冲突、编辑任何此类冲突并接受更改。

TortoiseSVN 是使用 SVN 的主要客户端工具。它将功能直接嵌入到您的 Windows 右键菜单中,以实现上述所有功能,如提交、更新、合并、分支(即标记或分支)等。

对于冲突解决,我个人更喜欢“Beyond Compare”,这是您必须购买的第三方应用程序。您可以设置 TortoiseSVN 来调用 Beyond Compare 作为解决冲突的应用程序,它比 TortoiseSVN 工具中内置的冲突编辑器要好得多且用户友好。

于 2012-05-18T10:39:43.507 回答
5

You would need to install an Eclipse Subversion plugin like subclipse or Subversive. This will provide the same facility as that available for CVS.

For instance, here is the documentation on how to tag using Subversive.

于 2012-05-18T10:18:37.593 回答
4

要标记,使用Eclipsewith SubClipse

  • 选择团队、分支/标签,然后单击“选择”按钮并深入到相应的项目中,然后单击“标签”目录,并深入到您的最后一个标签名称或您计划创建的任何类似名称。

  • 完整的 URL 被复制到栏中,然后您可以对其进行编辑,将最右边的标签名称部分更改为任何新的标签名称。

  • 点击下一步,从 HEAD 中选择(HEAD 是指您在上一页已经建立的 repo 路径,因此实际上可能是分支的负责人)。

  • 输入评论,例如'tagging <appName> Release <for reason> version x.y.z'

结束 -

您可以在此之前或之后,SVN Console从页面右下角的下拉菜单中打开 Eclipse ' ',查看生成的最新 SVN 命令及其结果。

于 2013-12-12T14:08:56.283 回答
1

SVN 中的每次签入都会创建一个新的修订号。SVN 修订号应该与您的标签相同。记住生产版本的 SVN 修订号。

于 2012-05-20T18:16:43.423 回答
0

Subversion 中的标记和分支与 CVS 不同。在 Subversion 中,“创建标签”意味着将修订(通常是 HEAD,但也可以是其他修订)复制到“标签”目录中的新目录。这就是为什么当您转到 时Team->Branch/Tag...,Eclipse 会要求您提供要复制到的 URL。

查看此页面以获取有关 Subversion 中标记的更详细说明。

为了帮助您了解事情是如何以“SVN 方式”完成的,我建议您先从命令行练习 Subversion 的使用,然后再在 Eclipse 上尝试它。或者,如果没有,至少在 Eclipse 中打开一个 SVN 控制台以查看它运行的命令——您会看到标记操作确实是一个svn copy.

于 2012-05-29T15:24:53.700 回答