svn - Svn:合并分支和主干上的目录更改
问题描述
我正在尝试将我的 svn 分支合并到主干,但是主干和分支上的目录结构都发生了变化。
分支点的原始目录结构如下:
Main |---- Input | |---- A | |---- B, etc. | ... |---- Output |---- A |---- B, etc. ...
分支后,trunk上的目录结构变为:
Main |---- A | |---- Input | |---- Output |---- B, etc. ...
然而,在分支上,文件夹 A 被拆分为两个单独的文件夹,因此目录结构变为:
Main |---- Input |---- A_1 |---- A_2 |---- B, etc. ... |---- Output |---- A_2 |---- A_1 |---- B, etc. ...
我想将分支合并到主干,使其具有以下结构并保留分支上所有提交的历史记录:
Main |---- A_1 | |---- Input | |---- Output |---- A_2 | |---- Input | |---- Output |---- B, etc. ...
当我尝试天真地将分支合并到主干时,我与 Input 和 Output 文件夹发生了树冲突。svn状态是:
M . ! C Input > local missing or deleted or moved away, incoming dir edit upon merge ! C Output > local missing or deleted or moved away, incoming dir edit upon merge Summary of conflicts: Tree conflicts: 2
感觉就像我可以只合并分支中的 A_1 和 A_2 文件夹,但它们在主干上不存在。我试图在主干上创建一个新的 A_1/Input 和 A_2/Input 文件夹,并从我的分支上的 Input/A_1 和 Input/A_2 合并,但我遇到了没有共同祖先的问题。它们显然都来自文件夹 A,但我不知道如何让 svn 考虑到这一点。
有没有简单/任何方法可以做到这一点?
我正在使用 svn,版本 1.9.5
解决方案
我建议将您的 Subversion 升级到 1.10.x,因为这个版本有一个新的交互式冲突解决程序:https ://subversion.apache.org/docs/release-notes/1.10#conflict-resolver 。在这些情况下可能会有所帮助。
推荐阅读
- c# - 不使用 pinvoke 以编程方式关闭 SaveFileDialog/OpenFileDialog
- azure-resource-manager - 如何使用 ARM 模板创建新磁盘并将其附加到现有 Windows 虚拟机?
- excel - VBA Excel - 过滤选择“错误”行
- c++ - 检索所有当前环境变量的列表
- python - 无法在 matplotlib 中获取镜头数据的散点图
- sql - 使用 GORM 和 PostgreSQL 查找半径 10 公里左右的所有行
- ios - 如何从 Firebase 数据库将 Double 转换回时间戳
- java - Firebase Crashlytics ObjectOutputStream writeObject0 错误
- reactjs - TypeScript: how to find an object in an array and return that specific object?
- stm32 - HAL/Bare Metal/RTOS/Other OS 中最好的开发平台