2

Visual SourceSafe (VSS)/SourceOffsite (SOS) から HG/Git に移行しようとしていますが、適切に対処する方法がわからないという大きな問題が 1 つあります。

「製品 X」の一部として C++ ソース ファイルをユーザーに配布します。これらのソース ファイルはもちろんバージョン管理されています。ソース ファイルが次のように構成されているとします。

{製品 X インストール フォルダ}\SDK\system*.h
{製品 X インストール フォルダ}\SDK\Src*.cpp

ここまでは順調ですね。一部の上級ユーザー向けに、「Product X Professional バージョン」を作成するための追加ファイルが提供されており、これらのファイルも上記と同じ場所に配置されています。

VSSはファイルの共有をサポートしているため、これは VSS では問題になりません。

VSS でソース ファイルを管理する方法は次のとおりです。

「基本/非プロ」バージョンのVSSにプロジェクトがあります

$/Support/ CoreVersion /SDK/system/ .h
$/Support/ CoreVersion /SDK/Src/
.cpp

そして、「プロ」バージョンのプロジェクトがあり、上級ユーザー向けのファイルのみが含まれています

$/Support/ Pro /SDK/system/ .h
$/Support/ Pro /SDK/Src/
.cpp

最後に、2 つの異なるバージョンのファイルを同じプロジェクトで共有できます。

$/ SourceBase /SDK/system/
$/ SourceBase /SDK/Src/

その後、開発者は $/SourceBase/ で作業するだけです。

「ファイル共有」がなくなったため、HG/Git でこれを行う方法がわかりません。

「サブリポジトリ」は認識していますが、サブパス専用に設計されているようです。これらのファイルは同じフォルダーに配置する必要があるため、これは私たちのケースではありません。最後の手段。

これについて何か考えはありますか?

4

1 に答える 1

0

これを行うには、2 つのブランチを使用できます。1 つは pro、もう 1 つは std、すべての開発は pro ブランチに行き、std ブランチはマージのみを受け入れます。

最初に、すべてのファイルを pro ブランチに配置し、最初のコミットを行うことができます。次に、std 以外のファイルを削除し、コミットして std ブランチを作成します。

これで、全員が pro ブランチに切り替えて開発を行います。std ビルドが必要な場合は、pro からマージし、Changed-Removed 競合を解決するときに [削除] を選択します。

于 2013-10-23T06:51:04.790 に答える