2

同じソリューションに2つのVisualStudio2010プロジェクトがあるとします。

1つのプロジェクトは、タスクxを実行するためのdllライブラリです。もう1つは、そのライブラリ用のWindowsフォームGUIフロントエンドです。

また、2つの異なる水銀リポジトリ(プロジェクトごとに1つ)を使用して、これら両方のプロジェクトの開発を開始したとしましょう。

これらの2つのリポジトリを、両方のプロジェクトの包括的なソリューションの1つのリポジトリに結合したいとします(コミットメッセージを失うことはありません)。

これは可能でしょうか(またはそれでも良い考えですか?)

4

1 に答える 1

9

あなたは賭けます!簡単な答えは次のとおりです:https ://www.mercurial-scm.org/wiki/MergingUnrelatedRepositories

2つのリポジトリがあるとしましょう

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         3/24/2011   7:33 AM            r1
d----         3/24/2011   7:35 AM            r2

これがr1です。

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         3/24/2011   7:33 AM            .hg
-a---         3/24/2011   7:33 AM         85 file1.txt

これがr2です:

Mode                LastWriteTime     Length Name
----               -------------     ------ ----
d----         3/24/2011   7:35 AM            .hg
-a---         3/24/2011   7:33 AM         89 file2.txt

「r1」のクローンを作成して、「merged」という別のリポジトリを作成します。

$>hg clone r1 merged
updating to branch default
resolving manifests
getting file1.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$>cd merged

次に、「r2」をプルする必要があります。

$>hg pull -f ..\r2
pulling from ..\r2
searching for changes
warning: repository is unrelated
2 changesets found
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

最後に、それらをマージして変更をコミットする必要があります。

$>hg merge
resolving manifests
getting file2.txt
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$>hg commit -m "Merged two both repos"
file2.txt
committed changeset 4:40028ef336d9

全部終わった!マージされたリポジトリは次のとおりです。

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         3/24/2011   7:36 AM            .hg
-a---         3/24/2011   7:36 AM         85 file1.txt
-a---         3/24/2011   7:36 AM         89 file2.txt

私たちが歴史に何を持っているか見てみましょう...

$>hg log
changeset:   4:40028ef336d9
tag:         tip
parent:      1:464b7426220c
parent:      3:3b5eba6d03ef
user:        Joe Schmoe <schomej@inter.net>
date:        Thu Mar 24 07:36:58 2011 -0700
description:
Merged two both repos

changeset:   3:3b5eba6d03ef
user:        Joe Schmoe <schomej@inter.net>
date:        Thu Mar 24 07:35:02 2011 -0700
files:       file2.txt
description:
Added second line to second file

changeset:   2:c26449adfb4d
parent:      -1:000000000000
user:        Joe Schmoe <schomej@inter.net>
date:        Thu Mar 24 07:32:52 2011 -0700
files:       file2.txt
description:
Added first line of second file

changeset:   1:464b7426220c
user:        Joe Schmoe <schomej@inter.net>
date:        Thu Mar 24 07:33:47 2011 -0700
files:       file1.txt
description:
Added second line to first file

changeset:   0:51cb60e8a68a
user:        Joe Schmoe <schomej@inter.net>
date:        Thu Mar 24 07:31:59 2011 -0700
files:       file1.txt
description:
Added first line to first file

成功!

于 2011-03-24T14:38:06.303 に答える