我有两个不同的文件,每个文件都有自己的历史,我想将它们合并为一个,但保留两个历史。
例如(我的实际问题):在从旧的视觉工作室转换到新的视觉工作室之后,我有x.vcproj
and x.vcxproj
(我什至不记得这些是哪些了)。基本上在转换之后,我们一起停止使用旧格式。
那时应该做的是编写一个遍历所有转换项目的脚本(在向 clearcase 添加任何内容之前):
- 签出
x.vcproj
及其包含的文件夹。 - 重命名
x.vcxproj
为一些临时文件,比如说x.vcxproj.temp
- 用于
cleartool
重命名x.vcproj
为x.vcxproj
- 用
x.vcxproj
_x.vcxproj.temp
- 签入
x.vcxproj
文件。
这在当时就可以做到,但还没有做到,现在大多数<Project Name>.vcxproj
已经有了自己的广泛历史。
这两个文件的历史可以统一起来,还有一些如何模拟上述流程?
视觉示例:
从:
x.vcproj x.vcxproj
[main] [main]
| |
(0) (0)
| \ | \
| \ | \
| (0) [v1] | (0) [v2]
| | | |
| (1) | (1) <<- First Node of x.vcxproj
| | \ | |
| (2) \ (1)<(2)
| | (0) [v1.1] | | \
(1)<(3) | | | \
| (1) | | (0) [v2.1]
| | | | |
(2)<----(2) (2)<(3)<(2)
| | |
(3) (3)<----(3)
| \ |
| \ (4)
| (0) [v2] | \
| | | \
(4)<(1) <<- Last node of x.vcproj | (0) [v3]
| |
(5)<(1)
我想得到以下结果树:
x.vcproj -+-> x.vcxproj
[main]
|
(0)
| \
| \
| (0) [v1]
| |
| (1)
| | \
| (2) \
| | (0) [v1.1]
(1)<(3) |
| (1)
| |
(2)<----(2)
|
(3)
| \
| \
| (0) [v2]
| |
(4)<(1) <<- Last node of x.vcproj
| |
| (2) <<- First Node of x.vcxproj
| | Original Node (1) of [v2]
(5)<(3)
| | \
| | \
| | (0) [v2.1]
| | |
(6)<(4)<(2)
| |
(7)<----(3)
|
(8)
| \
| \
| (0) [v3]
| |
(9)<(1)