私のチームは、Mercurial と中央リポジトリを使い始めたばかりです。Hudson を使って「デフォルト」ブランチの先端を構築しています。これは基本的にメインラインです。以前の VCS では、メインラインにチェックインする前にコード レビューやテストなどを実行するというチェックイン ポリシーがありました。
たとえば、機能 X に取り組んでいるとします。「デフォルト」に基づいていくつかの作業を行い、チェックポイントとして部分的な機能をコミットします。ローカルでは「デフォルト」が壊れています。まだ誰とも共有していませんが、プッシュすると、メインラインに壊れたコードが存在します。
すべてが整理されるまでプッシュを待つ場合でも、一部の変更をプッシュする必要があるものの、すべてをプッシュする必要がない状況 (たとえば、2 つの作業を同時に行っている場合) があるようです。
さらに、チェックポイントの変更をすべてチェックインすると、ビルドされるメインラインのリビジョンとビルドされないメインラインのリビジョンがいくつか存在することになります。
名前付きブランチを使い始めましたが、読めば読むほど、名前付きブランチを誤って使用しているのではないかと思うようになりました。
Hudson を実行し、メインライン ポリシーを維持できる適切なワークフローを設定する方法について、何か提案はありますか?
ベストアンサー1
まず、私は強くお勧めしますMercurial でのブランチ作成ガイド
次に、現在のブランチだけをプッシュできます。ナッジ - プッシュのより穏やかなバージョン
また、ブランチごとにヘッドのみを許可するように決定することもできます。32. 複数のヘッドを作成するプッシュを防ぐ
名前付きブランチに関連するその他の SO の質問: