5

Mercurial に関する Joel の最後の記事を読んだ後、私は XP をシングル ユーザー、シングル コンピューターのソース管理システムとして試してみました。

ただし、確認したいことの1つは、たとえば、保持しているすべての小さなプロジェクトのリポジトリを作成する方が簡単だということです。C:\VB.Net\ ですが、その結果、その中のさまざまなプロジェクト (C:\VB.Net\ProjectA\、C:\VB.Net\ProjectB\ など) に加えた変更が混在します。単一の変更ログ。

しかし、すべてのプロジェクトに単一のリポジトリを使用する場合、差分を作成したり、変更履歴を調べたりするときに、特定のプロジェクトに関連する変更のみが表示されるようにデータをフィルタリングできますか? それ以外の場合、各プロジェクト ディレクトリにリポジトリを作成することが唯一の解決策ですか?

ありがとうございました。

4

4 に答える 4

5

単一のプロジェクトごとに 1 つのリポジトリを保持します。オーバーヘッドは最小限 (hg initソース コード ディレクトリごとに 1 つ、またはエクスプローラーで 1 回の右クリック) であり、混乱することはありません。結局のところ、あるプログラムへの変更が、まったく無関係なプログラムのバージョン履歴に影響を与えるのはなぜでしょうか?

もちろん、 Repository Explorer で各ファイルの履歴を確認できますが、関係のないものを 1 つのリポジトリに混在させることは、バージョン管理の概念に反すると思います。

于 2010-03-19T07:18:11.683 に答える
4

DVCS (つまり、すべての履歴を複製できるレポ) の適切な粒度はプロジェクトです。

開発ライフサイクルが異なる複数のプロジェクトがある場合 (つまり、一方の変更が他方に影響を与えるとは限らない)、それらは独自のリポジトリにある必要があります。

于 2010-03-19T07:24:52.080 に答える
0

誰かが bitbucket を使用する場合、1 つのプライベートリポジトリのみが許可されるため、プライベートにしたい場合はすべてのプロジェクトをそこに置くことができます。このシナリオについてのコメントを聞きたいです。

于 2010-03-19T09:32:08.263 に答える
0

1 つのリポジトリを使用し、浅いプロジェクトしかない場合:

cd C:\VB.Net\ProjectA\
hg log *.*

それ以外の場合は、過度の再帰を避けるために特定のファイル拡張子を指定する必要がある場合があります。

cd C:\VB.Net\ProjectA\
hg log **/*.cpp

ただし、少し遅くなる可能性があります...プロジェクトが実際に分離されている場合、タグ/ブランチが混乱する可能性があります。

注: 「Hello world!」とはほとんど思いません。「スタンドアロン」である可能性があるという理由だけで、独自のリポジトリに値します。

于 2014-09-11T16:25:55.017 に答える