0

水銀クライアントに似たものを構築して実験したいと思っています。公式の API を検索したところ、このページhttps://www.mercurial-scm.org/wiki/MercurialApiが見つかりました。このページでは、API について説明していますが、API に依存することを強く思いとどまらせています。さらに、上記のページのどこかで次のように述べています

大多数のサード パーティ コードの場合、最善の方法は、Mercurial の公開され、文書化された、安定した API、つまりコマンド ライン インターフェイスを使用することです。

それでは、さまざまなmercurialコマンドからの出力を解析するためだけの最善のアプローチはありますか? 私はこのようなことをすることを恐れていませんが、私を悩ませているのは、これらのコマンドの出力が将来少しでも変化し、コードが壊れる可能性があるという事実です.

他のアプローチはありますか、それとも CLI に依存しているだけで、それが変更された場合は適応するだけですか?

4

2 に答える 2

1

中間のオプションは、コマンドライン API を使用するコマンド serverを使用することですが、素朴なラッピングが引き起こすいくつかの問題を回避します。

これにはさまざまなクライアントがあります。hglib は Python の実装であり、JavaHg は Java ライブラリです。JavaHg には、出力の解析と対話を行うための高度な機能も備わっていると思います。

于 2013-06-22T11:07:24.000 に答える
1

CLI に頼るだけです。さらに、使用しているバージョンを制御できるように、特定のバージョンの hg をクライアントにパッケージ化できる場合があります。ただし、そうする前に、そのライセンスへの影響を調査する必要があります。https://www.mercurial-scm.org/wiki/Licenseから始める

于 2013-06-22T05:26:26.890 に答える