gpt4 book ai didi

visual-studio-2010 - 使用 hg 将具有存储库的不同项目 merge 为一个解决方案?

转载 作者:行者123 更新时间:2023-12-05 00:38:36 24 4
gpt4 key购买 nike

我在 Visual Studio 2010 中启动了两个不同的项目,每个项目都有自己的 hg 存储库。

后来我决定这两个项目属于一个解决方案,因此属于一个 hg 存储库。

新的解决方案如下文件结构:

SolutionFolder
|---.hg
+---Lib
| ∟ dlls
+---Source
| ∟ Project_A
| ∟--.hg
| ∟ Project_B
| ∟--.hg
+---OverarchingSolution.sln

有什么办法可以 merge Project_A的和 Project_B的变更集到解决方案文件夹的存储库?

从而导致:
SolutionFolder
|---.hg
+---Lib
| ∟ dlls
+---Source
| ∟ Project_A
| ∟ Project_B
+---OverarchingSolution.sln

来自 Project_A 的所有变更集的和 Project_B登陆 SolutionFolder 的存储库?

最佳答案

如果您可以更改历史记录(即:使其他人对该项目的克隆无效),则可以使用“转换”扩展名。

创建文本文件,我们将其命名为 rename-map-a.txt里面的这一行:

rename . Source/Project_A

然后进入 Source并运行:
hg convert --filemap rename-map-a.txt Project_A new-Project_A

对 B 重复相同的过程,以便现在您拥有:
SolutionFolder
|---.hg
+---Lib
| ∟ dlls
+---Source
| ∟ Project_A
| ∟--.hg
| ∟ Project_B
| ∟--.hg
| ∟ new-Project_A
| ∟--.hg
| ∟ new-Project_B
| ∟--.hg
+---OverarchingSolution.sln

然后进入 SolutionFolder并运行这些命令:
hg init   # creates a new, empty repo
hg pull Source/new-Project_A # pulls in changesets from A
hg pull --force Source/new-Project_B # pulls in changesets from A

如果有效,您可以删除(或更好地移动到某个地方以备份这些目录:
SolutionFolder/Source/Project_A/.hg
SolutionFolder/Source/Project_B/.hg
SolutionFolder/Source/new-Project_A
SolutionFilder/Source/new-Project_B

留给您的正是您在问题中的目标,以及所有历史记录和所有跟踪记录。也就是说,请参阅我的其他答案以了解我认为更好的想法。

关于visual-studio-2010 - 使用 hg 将具有存储库的不同项目 merge 为一个解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434522/

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