在Eclipse中的同一个CVS分支上保留多个项目

时间:2010-02-26 19:37:19

标签: eclipse cvs branch

所以我的团队刚刚开始在我们的项目中使用分支,并且我们遇到了关于Eclipse / CVS处理分支和项目的方式的组织问题。我的问题是:

是否可以确保多个项目始终与Eclipse中的CVS同步到同一分支?

这是一个简化的场景:

两个项目:ProjAProjB,以及两个分支:DevRelease

因此,假设两个项目在我的工作区中与Release同步,我决定添加一个新功能。我只预计此功能会触及ProjA,所以我天真地只将该项目分支到Dev。所以现在我的工作区不一致了。

经过几个小时的工作后,我意识到我需要对ProjB进行一些小改动,因此我会弹出有问题的文件进行更改,忘记将其同步到Dev

稍后,在我的更改完成后,我提交了它们。现在,我刚刚将第一个项目中的更改提交到Dev,将第二个项目中的更改提交到Release。哇哇,破碎的身材!

这个问题的解决方案是:

  1. 没让我分开同步这两个项目
  2. 没有让我同时承诺两个分支
  3. 现在,在现实世界中,我们有大约30个项目,以及许多开发功能分支的开发人员,他们中的许多人似乎注定要使用分支来尽可能地破坏构建。我想删除其中的一些方法。

3 个答案:

答案 0 :(得分:1)

更改vcs是一个选项吗?最近我的工作从cvs过渡到mercurial,我认为我不能回去。我认为任何mercurial,git或bzr都可以解决这些问题。

答案 1 :(得分:1)

经过多次试验和研究后,似乎由于在CVS中处理分支的方式(即基于每个文件),我所寻找的场景是不可能的(至少没有专门为此目的建造的工具)。

我们最终只是采用了一种软解决方案:通过将Eclipse中CVS标签装饰的颜色和格式更改为更引人注目和孤立的东西,可以更方便地随意识别项目(或文件)与哪个分支同步

Eclipse设置位于Team > CVS > Label Decorations > Text DecorationsGeneral > Appearance > Colors and Fonts > Basic > Decoration Color

当然,在此过程中实施一些最佳实践。

答案 2 :(得分:0)

您可以采取两种方法。

在创建分支后命名Eclipse项目。因此,如果您正在处理与故障编号123处理ProjA的功能分支,则可以将Eclipse项目检出为ProjA_123(如果您愿意,还可以检查ProjA_Dev)。您可以调用发布分支ProjA_Release。

或者,您可以为每个分支维护单独的Eclipse工作区。

只要您有一些系统来确定您的工作结账来自哪个分支,您应该没问题。