私は小さな組織で働いており、開発者は2人だけで、Mercurialバージョン管理tortoisehg-2.2.2-hg-2.0.2-x86
を使用しています。 Mercurialは初めてです。
programmerA
、programmerB
を検討してください。
programerA
マシンで、"EFSL"
という名前のリポジトリとクライアントを作成しました。 programmerB
は、単にprogrammerA
マシンリポジトリを指す"Uthaya Kumar"
という名前のクライアントです。
programmerA
マシンの変更セットをプルすると、新しいブランチが作成され、作業ディレクトリとリポジトリの両方に"Not a head revision!"
エラーも表示されます。
programmerB
では問題ありません。
以下のスクリーンショットをご覧ください。
前もって感謝します。
最初のスクリーンショットを調べて、一番上の行がRev
列の8+
を示していることを確認してください。これは、作業コピーがリビジョン8に基づいていることを意味します。行をたどると、同じことを示すリビジョン8で結合することもわかります。
これを解決するには、変更を加えたかどうかに応じて2つの方法があります。
変更を加えていない場合は、リビジョン13を右クリックして、更新...を選択します。最新の変更に更新します。
変更を行った場合は、それらの変更をコミットし、リビジョン13を右クリックしてMerge with local ...を選択する必要があります。これにより、マージを処理するウィザードが表示されます。
最後のスクリーンショットでは、作業コピーがまったくないようですので、上記の更新手順を使用してリビジョン13に更新する必要があります。
TortoiseHgの設定を変更することにより、update
を自動的に発生させることができます。
Workbench
からFile> Settingsを選択しますこれにより、プルを行うたびに最新版に更新され、最初のスクリーンショットでの問題が回避されます。あなたと他の開発者が変更を加えた場合、まだ手動でマージする必要があります。
そのリストの他のオプションはrebase
とfetch
で、どちらも有効な適切な拡張機能に依存しており、高度な使用のみを目的としています。
これはMercurialの完全に正常で正しい動作です。現在、作業ディレクトリは変更セット8「マージ2」に更新されています。プル操作では、作業ディレクトリの内容は変更されません。欠落している変更セットを取得し、履歴グラフに追加するだけです。プルした後も、まだチェンジセット8で作業しています。「ヘッドリビジョンではありません」というメッセージが表示されます。新しいブランチ。これはあなたがしたいこともしたくないこともあります。通常、新しいチェンジセットを取得した後、最新のチェンジセットを右クリックして[更新...]を選択し、作業ディレクトリを最新のチェンジセットに更新します。
追伸TortoiseHGの最新バージョンを使用していません。最新バージョンに更新してください。多くの改善が含まれており、多くのバグが解決されています。