gpt4 book ai didi

svn - 将分支合并到主干的颠覆最佳实践,其中分支中的文件结构已被修改

转载 作者:行者123 更新时间:2023-12-02 13:11:42 25 4
gpt4 key购买 nike

我面临的情况是,我的开发团队希望重新组织存储库中的文件结构。这个过程大约需要2-3个月的时间。在文件重构的过程中,我们还要做一个软件发布。因此,在重新结构化过程之后,我们希望将组织好的文件从分支合并回主干。保留文件历史记录非常重要,而且我们还需要能够合并自第一次创建分支以来主干中的代码更改。

我最初的尝试是创建一个分支,然后简单地合并它。不幸的是,事情并不像我想象的那么简单。我的测试场景之一如下:

  1. 从主干创建分支
  2. 更新 trunk 中的文件
  3. 移动分支中的文件
  4. 更新分支中的文件
  5. 从分支合并回主干

在第 5 步,我在主干中更新的文件上出现“树冲突”错误。 TortoiseSVN 不提供有关冲突文件与分支中哪个文件相关的信息。在我的场景中,找出有问题的文件并不困难;然而,在我们真正的存储库中,这将非常困难,因为我们有数千个文件,并且其中许多文件具有相同的文件名(在不同的文件夹中)。

有人有和我一样的经历吗?我应该/可以采取什么建议/最佳实践来确保代码的完整性?

感谢您的帮助。

最佳答案

有两种方法可供选择

<强>1。纯SVN方法

重构后合并前 /branches/branchname/trunk 目录合并全部重命名/移动来自分支的文件及其主干原始文件,即/branches/branchname/some/branchfile1/trunk/trunkfile1 ...并在最后一步合并目录

<强>2。 DVCS方法

使用任何具有良好合并功能的 DVCS(它们都有 - Git、Mercurial、Bazaar...)和 svn-bridge(git-svn、hgsubversion...),执行重构合并在 DVCS 镜像仓库中。毕竟 - 使用 DVCS 工具(... rebase)线性化存储库(SVN 历史记录,DVCS -DAG)并将结果推送到 SVN-repo。如果 rebase 对你来说太难了,你可以将最终结果从 DVCS-of-choice(对于 SVN 背景,我会考虑 Mercurial 或 Bazaar,而不是 Git)导出到无版本树中,然后对主干进行单向同步 WC有了这棵树

关于svn - 将分支合并到主干的颠覆最佳实践,其中分支中的文件结构已被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8980685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com