問題タブ [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
フル パスを指定せずに見つけられるようにする方法はありますか?
python-2.7 - Python を使用して Mercurial (hg) 拡張機能のパフォーマンス テストを作成する方法
たとえば、Mercurial の拡張機能をhg dosomthing --rev 5
作成しましたが、拡張機能の実行時から終了までのパフォーマンスを監視するためのパフォーマンス テスト ケースを作成するための正しいアプローチは何か疑問に思っていました。
タ:)
mercurial - Mercurial 通知の差分を色付けすることは可能ですか?
Subversion から Mercurial に移行中です。私たちが使用していた VisualSVN サーバーは、通知メール内で色付きの差分を生成しましたが、Mercurial でこれを再現する方法が見つかりません。サーバーで拡張機能を有効にしましたcolor
が、生成される電子メールには影響しません。何か案は?
mercurial - Mercurial で発信チェンジセットを 1 つのチェンジセットにまとめる
これらの変更をリモートリポジトリにプッシュするとビルドが壊れることをよく知っているので、mercurial を使用してステージを (ローカルで) チェックポイント/コミットしたいと考えています。私がやりたいことは、これらの変更セットをプッシュできる単一の変更セットに折りたたむ/折りたたむ/蓄積することです。リモート リポジトリの履歴にこれらの中間チェックポイントを含めたくありません。リモート リポジトリに記録されているすべてのバージョンが、少なくとも適切にビルドされるようにしたいと考えています。
これを行う簡単な方法はありますか、おそらく拡張機能です。これが DVCS のセールス ポイントになると思います。
mercurial - Mercurial 拡張機能を使用して永続データを保存するにはどうすればよいですか?
Mercurial 拡張機能を作成していて、少量のメタデータを保存する必要があります。これはばかげた例ですが、次のようなものを機能させるには十分です。
リポジトリがクローンされている場合、このデータをコピーする必要はありませんが、それが簡単な場合はコピーするのが良いでしょう。
水銀拡張機能でこれを行う適切な方法は何ですか? .hg の下に、任意のファイルなどを作成できるフォルダーはありますか?
charts - Mercurial を使用して、1 週間のおおよその作業時間を確認するにはどうすればよいですか?
Mercurial activity extensionについては知っていますが、プロットされているように見えるデータはコミット数です。それは良い指標ではないと思います。1 時間に 20 回のコミットまたは 1 回のコミットを行ったとしても、そこから多くを推測することはできないと思います。コミットがあるたびに、以前の作業が行われたと仮定/入力する方がはるかに安全だと思います。1〜2時間、または5時間程度(人による)。次に、それをブロック スタイルのカレンダー ウィジェット (github の投稿ウィジェットのようなもの) で、週ごとまたは月ごとにプロットします...
私が説明したようなものは存在しますか?
mercurial - Windows で mercurial_keyring 拡張機能、TortoiseHg、および Kiln を使用して hg プッシュを実行できない
Windows Server 2008R2 で TortoiseHg (v2.11.1 64 ビット) で mercurial キーリング拡張機能を使用すると、説明のつかない問題が発生します。
拡張機能が有効になっているように見え (mercurial_keyring エントリが mercurial.ini とレポ hgrc ファイルに存在します)、デフォルトのレポ URL を設定して自分のユーザー アカウント (例: ' default=http://username@my-host-name/reponame/
') を渡します。
コマンド プロンプトから手動でプッシュして、パスワードを Windows クレデンシャル ストアに保存しましたが、これは機能しているように見えます。コマンド プロンプトからのその後のプッシュでは、認証が要求されません。Windows Credential Store に「Mercurial」エントリも表示されます。PATH 環境変数が、TortoiseHg によってインストールされた hg.exe インスタンスのみを指していることを確認しました。最後に、Jenkins でジョブを作成し、コミットを実行して、資格情報を保存するためにテスト プッシュを行ったのと同じレポをプッシュします。ただし、ジョブは次のメッセージで失敗します。
何が間違っているのか、またはこれが実行可能な構成ではないのかどうかはわかりませんが、提案をいただければ幸いです。ご検討いただきありがとうございます。