問題タブ [tortoisehg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mercurial - Mercurialの中央リポジトリ/複数の中央リポジトリを最適に構成するにはどうすればよいですか?
私はMercurialを初めて使用し、SVNに取って代わることができるかどうかを考えています。私が一緒に仕事をしている人は皆、SVN、CVS、VSS(震え)を使っているので、これはかなり大きな変化かもしれません。マージとブランチの機能について読んだ後、私は非常に興味を持っていましたが、いくつかの予約があります。
現在SVNを使用しており、中央リポジトリが1つあります。私の読書から、Mercurialを使用する場合、すべてのプロジェクトに1つの中央リポジトリがないように見えます。注:各プロジェクトは、個別の論理コードセット、またはVisualStudioソリューションと見なされます。それはそれ自体で実行されます。
1つの中央SVNリポジトリに約60の個別のプロジェクトがあります。Mercurialについて読んだ後、サーバー上のこれらのプロジェクトごとに60の個別の中央リポジトリを作成する必要があるように思われます。質問1:プロジェクトごとに1つのリポジトリを作成する必要がありますか?
はいの場合、60台の個別の中央Mercurialサーバーの構成とホスティングについて心配しています。1つのファイルを構成できると思い始めましたが、「C:... \ MyRepository.hg \ hgrc」ファイル(Windowsインストール)を使用して各リポジトリを個別に構成する必要があるようです。また、60台のサーバー(> hgserve)を実行する必要があるため、別のポートで想定します。質問2:質問1の答えが「はい」の場合、プロジェクトごとに1つの中央リポジトリが必要です。それでは、人々はどのようにして多くの複数のリポジトリを管理してきたのでしょうか。
最後に、すべての履歴と変更を1つのSVNリポジトリから多数の個別のMercurialリポジトリに移動することを検討していませんが、これを行った人からのコメントをいただければ幸いです(または可能であれば)。
version-control - これは私が「hgpush-f」すべき状況ですか?
AとBの2台のマシンがあり、どちらも外部のhgリポジトリにアクセスします。
私はAでいくつかの開発を行い、チェンジセットを外部にプッシュする準備ができておらず、マシンを切り替える必要があったため、を使用してチェンジセットをBにプッシュしましたhg serve。チェンジセットはBで継続され、コミットされてから外部リポジトリにプッシュされました。
次に、Aをプルして、default/tipに更新しました。これにより、以前はブランチとしてBにプッシュされていたローカルチェンジセットが残りましたが、私がどのようにプッシュしたかにより、ローカルチェンジセットの変更はすでにdefault/tipになっています。
私は今も変更を加えてAでローカルにコミットし続けていますが、hgをプッシュしようとすると、push -f代わりにマージするか実行するように求められます。私push -fはほとんど決して推奨されないことを知っています。この状況は、リベースを使用する必要がある状況に近いですが、「リベース」されるチェンジセットは、Bへのプッシュによってすでにデフォルト/チップになっているため、ローカルまたは外部リポジトリには実際には必要ありません。
これで、最新のローカルチェンジセットとマージして変更を破棄できることがわかりましたが、それでもマージをコミットする必要があり、リベース領域に戻ることができます。
これは私ができるケースhg push -fですか?
また、チェンジセットをコミットし続ける前にデフォルト/チップに更新した場合、なぜAからプッシュしてリモートヘッドを作成するのですか?
mercurial - TortoiseHgの視覚的差分にBeyondCompareを使用する
TortoiseHgのビジュアル差分にBeyondCompareを使用しようとしています。例:エクスプローラーで変更されたファイルを右クリックし、TortoiseHgコンテキストメニューからVisualDiffを選択します...
BeyondCompareが開きますが、「ようこそ」画面のみが表示され、差分したいファイルは表示されません。私は何かが足りないのですか?
Mercurial.iniファイルを次のように設定しました。
mercurial - Mercurial リポジトリ内の異なるバージョンのファイル
同じ複製された Mercurial リポジトリを持つ 2 つのサーバーがありますが、このリポジトリのいくつかのファイルで構成行が異なります。Mercurial 経由でこのファイルを制御するにはどうすればよいですか? サーバー間でプル/プッシュするときに問題はありませんか?
version-control - 「hg push -r」を実行するのと同等のtortoisehg guiは何ですか
これを達成するためのオプションが表示されません。デフォルト ブランチに関連する変更セットのみをプッシュし、他のローカル ブランチはプッシュしたくありません。
リポジトリ エクスプローラーを次のように使用して、これを実行できると考えました。ツールバーのリポジトリ アドレスの下にある最初のコンボ ボックスで、ブランチを選択できます。これをデフォルトに設定しました。ただし、発信をプッシュすると、デフォルトではないローカル変更セットにフラグが立てられます。
何か案は?
git - TortoiseHg を使用して認証済みの git リポジトリにプッシュする
TortoiseHg で作成されたローカル Mercurial リポジトリからリモート Git リポジトリに変更セットをプッシュしようとしています。hg-git をインストールして構成しましたが、問題なくプルされます。しかし、プッシュを実行すると、これが得られます
指示
結果
この点に到達するために私が行ったことがいくつかあります。しかし、私はこの最後の問題を解決したいと考えています。TortoiseHg は、そこにあるどの Git ツール (Windows 用) よりもはるかに簡単に操作できることがわかったからです。
- インストールされた TortoiseHg
- http://bitbucket.org/durin42/hg-git/から hg-git をプルダウン
- hg-git ライブラリを指すように mercurial.ini を設定
- git://git.samba.org/jelmer/dulwich.git から dulwich ソースをプルダウン
- dulwich をコンパイルし、TortoiseHg の library.zip に入れました。
- ssh に TortoisePlink.exe を使用するように TortoiseHg を構成しました。
- 自分の秘密鍵を Pageant に追加しました
私が見逃している可能性のあるアイデアはありますか?
mercurial - ファイルステータスが空でない場合に赤いアイコンを表示するように tortoisehg を設定できますか?
たとえば、hg add を忘れて新しいファイルを追加すると、フォルダーは緑色ですが、ファイル ステータスには疑問符付きのファイルが 1 つ表示されます。
mercurial - Mercurial: 削除後に作業コピーの一部を元に戻す方法
ソリューションでプロジェクトを削除し、何度もコミットしましたが、削除されたプロジェクトがまだ必要であることがわかりました。履歴を残したまま復元する方法はありますか?
mercurial - Mercurial は、変更セットをより効率的に保存するために、より優れた差分ツールを使用できますか?
TortoiseHg を使用して変更をコミットします。コミット ダイアログに表示される (デフォルトの) 差分には、多くの追加/削除が含まれています。
しかし、対照的に、コミット ダイアログの diff アイコンをクリックすると、KDiff3 が開き、その比較ははるかに「インテリジェント」です。変更内容が「より適切に」検出されます。コードのブロックを移動したため、追加が大幅に少なくなりました。 /削除。
Hg は「古いリビジョンを新しいリビジョンに変換するために必要な変更を保存する」ので、これらの変更を Hg コミットに保存するために KDiff3 の「インテリジェンス」を利用できるかどうか疑問に思っていました。
別の質問で提案されている解決策は、TortoiseHg コミット ダイアログには適用されないようです。
前もって感謝します!
eclipse - eclipse と torotoiseHG で Mercurial サブリポジトリがバージョン管理されていないファイルとして動作するのはなぜですか?
Mercurial Eclipse plugin\tortoiseHG を使用して、mercurial のサブレポ機能を使用しようとしています。
これらは私が取ったステップです:
- 空のディレクトリを作成しました
/root - このフォルダ内のサブリポジトリにしたいすべてのリポジトリを複製しました(
/root/sub1、/root/sub2) .hgsubルートリポジトリにファイルを作成して追加し/root/.hgsub、サブリポジトリのすべてのマッピングをその中に入れました- tortoiseHG を使用し、右クリックし
/rootて選択create repository here - 再びカメで、内部のすべてのファイルを選択し、
/rootそれらをルートリポジトリに追加しました - ルートリポジトリをコミットしました
- キルンに設定した空のレポにローカルルートレポをプッシュしました
次に、import->mercurial を使用して、Eclipse でルート リポジトリをプルしました。
これで、すべてのサブリポジトリがバージョン管理されていないように見えることがわかります (Eclipse ファイル エクスプローラーの対応するフォルダーの横に「オレンジ色の円柱」アイコンが表示されません)。
さらに、サブレポの 1 つを右クリックすると、ルート プロジェクトでは、通常のように「チーム」メニューにすべての hg コマンドが表示されません。「プル」、「プッシュ」などはありません。
また、サブレポのファイルに変更を加えてからルート プロジェクトを「コミット」すると、変更が見つからないことがわかりました。
tortoiseHG でも同じ動作が見られます - の下/rootのファイルを参照している場合、ルート リポジトリに直接属するファイルには、バージョン管理されていることを示す小さなアイコン (V 記号) が表示されますが、サブリポジトリのフォルダーはマークされません。そのような。
私の側のエラーであると思われるのは、1.亀と日食の両方が同じことを行うため、どちらかのバグである可能性は低いです2.それらが行うことはかなり洗練されているように見えるため、バグ - どちらも .hgsub にあるすべてのフォルダーを無視します。逆のことが起こった場合 (すべてのサブリポジトリがバージョン管理されていないものとして扱われるのではなく、メイン リポジトリの通常のフォルダーとして扱われる)、サブリポジトリを扱わないことによって引き起こされたバグだと思っていたでしょう。しかし、明らかに両方のアプリが .hgsub ファイルを認識しています
私は何か間違ったことをしていますか、それともバグですか?