問題タブ [mercurial-extension]
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 には現在、改ざんされるべきではない歴史を人々が改ざんするのを防ぐ優れたメカニズムであるフェーズがあります。変更セットがリモート リポジトリにプッシュされると、変更セットが作成され、それ以上作成public
できなくなりますrebased
。これは通常、リポジトリが公開されていて、変更セットを他の人に変更されたくない場合に適しています。
draft
ただし、変更セットを自分だけと共有するための独自の一時リポジトリがある場合は、非常に面倒になる可能性があります。Mercurial には、これをオフにするオプションがあります。これをリモートリポジトリ.hg/hgrc
のファイルに追加します。
draft
これにより、リモート リポジトリにプッシュされたチェンジセットがフェーズからフェーズへ移動するのを防ぎますpublic
(ローカルのチェンジセットとリモート リポジトリにプッシュされたばかりのチェンジセットの両方)。ただし、このチェンジセットをプルすると、public
フェーズ内で常にプルダウンされます。
質問
draft
フェーズで変更セットをプルダウンしたいと考えています。個人用サーバーに変更セットをプッシュしてから、自宅でプルダウンしたいだけです。プルした後rebase
、真のパブリッシング サーバーからプルしたコミットの上に一時的なコミットを行います。
プルされた変更セットの自動移動を回避する方法はpublic
素晴らしいでしょう。このリモート リポジトリは、私にとって完全かつ完全なドラフト サーバーです。draft
試みが失敗した後に変更セットを手動で元に戻すことを余儀なくされることは、rebase
本当に神経質になり始めています。
参考文献
mercurial - Mercurial でのリベース後のローカル コミットの修正
最初は、私のローカル
レポジトリは次
C1 -> C2 -> My1
のように見え、リモート レポジトリは
次のようになりました。
C1 -> C2 -> R1 -> R2
$ hg pull
$ hg rebase
C1 -> C2 -> R1 -> R2 -> My1
ここで、ファイル「File1.java」にいくつかの変更を加えました。これらの変更を最後のコミットの一部にしたいと考えていますMy1
。私がするとき:
$ hg commit File1.java --amend
私が得るエラーメッセージは次のとおりです:
abort: cannot amend merge changesets
グーグルでこれを見つけました、それによると、それはmercurialの問題のように見えますが、それを回避する方法があると確信しています。
最後のローカル コミットの新しい変更を修正する手順を教えてください。
mercurial - Mercurial で一時的な変更にタグを付ける
Mercurial を使用して 1 年が経ちましたが、今日、一時的に編集されたファイルをどのように処理するか (より適切には識別するか) について疑問が生じました。
その方法を尋ねてきたユーザーは、現在 ClearCase から Mercurial に切り替えています。ClearCase では、「ハイジャックされたファイル」を使用して、コミットする必要がある変更と元に戻す必要がある変更を区別できます。
Mercurial (TortoiseHg を使用) では、これを達成するための同様の解決策が見つかりませんでした。
簡単に言うと、開発中に一時的に編集されたファイルと、コミットのために編集されたファイルをどのように区別できますか。
この種の状況に対するアドバイス/ベストプラクティスは何ですか?
mercurial - Hg: 拡張検索パス
特別な拡張機能を使用したいのですが、特定の理由により、Mercurial のインストールを変更したり、既存のMercurial.ini
または.hg/hgrc
ファイルに手を加えたりすることは避けたいと考えています。通常、次のようなコマンドを呼び出します
私がちょうど書くなら
Mercurial はどこを検索しextension.py
ますか? パスを追加/設定できる環境変数を設定して、c:\path\to\my
Mercurial がextensions.py
フル パスを指定せずに見つけられるようにする方法はありますか?