两个 CVS 树(独立的 CVS 树)可以合并吗?如何?
我们有一个 CVS 树 cvsrootv6,它使用 Java 1.4 和 Websphere 6.0。现在,因为我们正在升级系统,所以我们复制了整个 CVS 树,即 cvsrootv6,并为 Java1.6 和 Websphere 7.0 制作了一个新的独立树 cvsrootv7。
在生产中使用 cvsrootv6 树时,我们开始解决 cvsrootv7 的一些版本控制问题。同时我们的开发人员对cvsrootv6的各个文件做了一些更改。现在我们希望 cvsrootv6 中的更改反映在 cvsrootv7 中。
现在会有4种类型的文件对应cvsrootv6和cvsrootv7 1) 文件在 cvsrootv6 中更改,但在 cvsrootv7 中没有更改 2) cvsroot6 中没有更改但 cvsroot7 中发生更改的文件 3) cvsroot6 和 cvsroot7 中都有一些更改的文件 4) 任何一个树中都没有更改的文件,即 cvsrootv6 和 cvsrootv7
如果可以自动完成,有人可以指导我们吗?我的意思是我们可以为自动化过程编写某种脚本吗?或者没有选项可以自动执行它。如果您不清楚问题或有任何疑问,请告诉我。谢谢..
We had a CVS tree cvsrootv6 which uses Java 1.4 and Websphere 6.0. Now because we are upgrading our systems we copied the whole CVS tree i.e cvsrootv6 and make a new independent tree cvsrootv7 for Java1.6 and Websphere 7.0.
While having cvsrootv6 tree in production we started resolving some versioning issues with cvsrootv7. At the same time our developers did some changes in various files of cvsrootv6. Now we want the changes in cvsrootv6 to be reflected in cvsrootv7.
Now there will be 4 types of files corresponding to cvsrootv6 and cvsrootv7
1) Files changed in cvsrootv6 but no change in cvsrootv7
2) Files with no change in cvsroot6 but with come change in cvsroot7
3) Files with some change in both cvsroot6 and cvsroot7
4) Files with no change in either of the tree i.e cvsrootv6 and cvsrootv7
Can somebody guide us if it can be done automatically. I mean can we write some kind of scripts for the automation process or there is no option to do it automatically. Please let me know if problem is not clear to you or u have any questions. Thanks..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我希望您在拆分 cvsroot7 时进行标记,因为在这种情况下,您有类似的更改集(cvsroot6 cvsroot7-tag 到tip,cvsroot7 start 到tip)。如果你不能,你也许可以利用这段时间。
我想到的一种方法是:标记 cvsroot7,用 cvsroot6 的导出覆盖程序,提交,然后将 cvsroot 初始版本的更改合并到您刚刚在 cvsroot7 提示中制作的标记。
I hope you tagged when you split off cvsroot7, because in that case you've got comparable change sets (cvsroot6 cvsroot7-tag to tip, cvsroot7 start to tip). If you can't, you may be able to use the time.
One way that comes to mind: tag cvsroot7, overwrite the programs with an export of cvsroot6, commit that, then merge the changes from cvsroot initial version to the tag you just made into the cvsroot7 tip.
如果没有共同的父版本,版本控制系统将不知道如何计算差异,并且任何代码部分都会发生冲突(就像有一个空项目,从一开始就分支然后尝试合并,一切都会有所不同)。
我建议使用像 Araxis Merge 这样的文件夹比较工具并浏览整个代码。人类的决定是强制性的,但它会足够快,因为该工具会指导你。
希望这对您有帮助,
阿林
Without a common parent the versioning system would not know how to compute the differences and any code part would be subject to conflicts (just like having an empty project, branching from the start and then trying to merge, everything would be a difference).
I recommend using a folder compare tool like Araxis Merge and go through the whole code. Human decisions are mandatory, but it will be fast enough because the tool will guide you.
Hope this helps you,
Alin