問題タブ [mercurial-api]
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.
python - 「.hg/」状態ディレクトリ内のフック固有のファイルをどのように管理する必要がありますか?
Mercurial APIのネイティブ Python 実装を使用して、一連の changegroup および commit フックを作成しています。これには、フックが実際に見た最後のリビジョン ID など、フックに固有の特定の情報を保存する必要があります。
すべての外部メタデータがリポジトリ内に保存される方法でこれを行いたいのですが、実際には追跡または無視されません。このデータが履歴の一部にならないようにしたいと思います。
.hg/hgrc
私が最初に考えたのは、単純な文字列と整数のみを保存する必要があるため、既存の構成を使用することだけでした。フックが現在使用しているいくつかの構成行はそこにあります。API は、 を介してこの構成を読み取る簡単な手段を提供しますui.config*
が、実際に変更または書き込む手段は提供されていないようです。
構成リストを取得して追加または変更し、構成モジュールを使用して記述するのは簡単ですが、API が提供するものを見落としているように感じます。私は、「成熟した API でこれを行う明確な手段がない場合、間違った方法で行っている可能性がある」と考え続けています。
おそらくAPIを使用して、これを行う「適切な」方法はありますか? または、API を使用せずにこの種のデータを管理するために、API 内で見つけられなかったものでしょうhgrc
か? 私の主な関心事は、一度にプッシュする複数の人々の間のレースです。
mercurial - 「hg log」を使用して一連のリビジョンを一覧表示するにはどうすればよいですか?
hg log
コマンドを使用して一連のリビジョンxからyを表示しようとしています。
私がこれを行うとき:
私はこれを得る:
これは、リビジョン 1から5 ではなく、リビジョン 1と5を見たいという Mercurial の理解です。
奇妙なことに、これは機能します:
しかし、これは非常に面倒です。特に、互いに +500 離れたリビジョン間で要約を取得しようとする場合はなおさらです。
シリーズのすべてのリビジョンを連結x
する y
代わりにx
、 連結せずにリビジョンのログを取得する方法はありますか?y
出力を使用して、特定のシリーズで各開発者が行ったコミットメントの数を判断しています。コマンドを使用してそれができない場合はhg
、Mercurial API を使用することにオープンです。hg
API を介してそれを行う明確な方法が見当たらなかったため、このコマンドに頼りました。
API とは、フックまたは拡張機能を介して Python を使用することを意味します。
mercurial - Mercurial API: プルされたがまだ更新されていないファイルの次のコンテンツを取得するにはどうすればよいですか?
私は Mercurial API と Python の完全な初心者ですが、現在、自分自身と同僚のために便利な拡張機能を作成しようとしています。
いくつかのコードと補助ファイルを含むリポジトリがあるとしましょう.hgdata
。コードとコード.hgdata
は両方とも Mercurial の管理下にあります。拡張機能によって提供されるコマンドを実行するときpull-extended
、プルを作成してから、の状態を分析し、.hgdata
おそらくいくつかの追加アクションを実行する必要があります。問題は、私のコマンドが呼び出されると、着信変更セットをプルするだけで、事前にリポジトリを更新しないと実際の 変更セットを調べることができないことです。リポジトリの更新以外に更新後.hgdata
の様子を見る方法はありますか? .hgdata
mercurial - Mercurial API: https 経由で構成を読み取る
Mercurial API で、HTTPS 経由でアクセスしているリポジトリに関連付けられた構成値を読み取る方法はありますか? リポジトリのui
オブジェクトはそれらを保持していないようです。
tortoisehg - TortoiseHg - API からファイルのリストを更新する方法は?
特定のバイナリ形式のファイルをリポジトリにいくつか持っています。その内容を見たい。このようなバイナリ ファイルの場合、md5 とバイナリの素敵なコンテンツを含むレポ固有の txt ファイルを作成しました。
手動の動きを最小限に抑えるために、バイナリの変更を確認し、新しいバイナリ ファイルと一致する txt 形式のファイルをチェックする precommit フックを Python で作成しました。
一致が失敗した場合、フックは自動的に txt コンテンツを更新し、コミットを許可しません。
ここで手動で F5 キーを押して変更のリストを更新する必要があります。なぜなら、TortoiseHG は Modified がリストに存在しないコミット ファイルに含まれていないからです...
python - python mercurial api: 入ってくる変更を取得する
Mercurial リポジトリ「proj1」のローカル コピーがあります。Python スクリプト経由でMercurial APIを使用して受信変更を取得したい。私はそのようにしてみました:
このコードは次のメッセージで失敗しました:
mercurial.error.RepoError: ストレージのデフォルトが見つかりません
しかし、commands.summary(...)、commands.branch(...)、commands.branches(...) は問題なく動作しています。
手伝って頂けますか?ありがとう。
PS: 私の英語で申し訳ありません
python - Mercurial API で変更セットの日付をテストする方法
Mercurial Python API を特定の範囲内にある変更セットのみで使用したいのですが、docsを読んでも方法がわかりません。
私のコードは次のようになります。
そして、私が得る出力は次のとおりです。
出力日付の例は次のとおりです。
- 645630248.0
- 887802818.0
'hg help days'も見たことがありますが、ここから日/月/年の日付を Mercurial の内部表現に変換する方法がわかりません。
締め切り日を、changectx.date() によって返される日付値と比較するのに適した数値形式に変換するにはどうすればよいですか?
PS この些細な例については、 hg コマンドを直接使用してこれを行うより良い方法があることを知っています...サンプルコードに含めていないのは、「実行」ポイントで追加したい複雑な手順です!
mercurial - Hglib:ssh経由でリモートリポジトリに接続するには?
「生の」mercurial API を使用すると、次のように書くことができます。
接続が確立されたら、リモート リポジトリを操作できます。
hglib を使用してリモート リポジトリで何が機能するかを理解できていません。素朴なアプローチ、つまり次のような単純なものを使用します。
動作せず、例外が発生しても何も明確になりません。
私の質問: hglib を使用して、リモート ssh-repo への接続を開くにはどうすればよいですか?