べての構文解析gitの状況や利用gitsharp?
-
22-09-2019 - |
質問
思統合git生産パイプラインステージ3dsmaxファイルです。ですが大丈夫の仕事gitをTortoiseGitので、そういった話からMaxscriptに追加カスタムメニューコマンドを3dsmax.
べての構文解析 git status
出力テキストをフォルダの状況はどちらを使うべきであ包装具の適正な実施に著しい支障をとgit?
を考えてい gitsharp
ですので簡単に呼び出dotNet物からMaxscriptが使用していません外部dotNetます。
解決
これを解決するために私自身の試みはgitの状態を解析しました。クリーナー実現しやすいようです。より「クリーン」な方法で必要な情報を取得するために特別に細工されたXMLファイルを作成するためにforwordを探している。一方のi'amでます。
他のヒント
以来、git版1.7.0であ --porcelain
オプション git status
.出力:
git status --porcelain
...が利用する目的のために設計されたスクリプト-コンパクト表現を出力する形式のままに一貫したバージョン.としてのmanペースにおいて
磁器形式
の磁器形式の短縮フォーマットが変更に後退-互換性のない方法でロバージョン又はユーザーの設定をします。これは構文解析するためのイントロダクションです。の説明を短縮フォーマットの上にも磁器形式、例外:
- ユーザーの色です。状態の設定は尊重されていない;色は常にoffになります。
- ユーザーの状態にします。relativePaths設定は尊重されていない;パスを示すもの相対リポジトリです。
また代替-z形式を推奨機械の構文解析.このフォーマットでは、statusフィールドは同じですが、その他のものに変化します。第一に、->が省略 から名前を変更作品のフィールド順が逆になります(たg from->toになるのから).第二に、NUL(ASCII0)以下の各ファイル名を置き換えスペースとしてのフィールドセパレータ の改行を終了できたのは、スペースが分離し、statusフィールドからファイル名).第三に、ファイル名を含む特別な文字はない特別 形式;な引用やバックスラッシュ-脱出を行います。
このことは、また利用を考える:
git status -z
...もより強固な出力形式です。
gitのは、一般的に、単純なを持っている低レベルのコマンドです「磁器」日常のユーザーとの対話のために設計され、高レベルのコマンド、および「配管」、より多くの磁器を構築するための安定したインタフェースが含まれています。あなたはのgitのmanページ内のリストを見つけることができます。使用sergoの例に、git ls-files
はgit status
ための配管です。それはいくつかのものを磁器にマップ何配管のセットを把握する不可解必要かもしれませんが、配管を磁器より簡単かつ安全れるラッピングます。
私はgit ls-files
を発見したと私は完全にその出力形式に満足しています。 git status
は、解析のためにあまりにも人間志向だっます。
私はそのクリアステータスコマンドでMercurial
にgit
を好むだろうが、大きなバイナリファイルと、それgit
が私のためにうまく動作しそうです。
私はMAXScriptのについて何も知らないしませんが、あなたは.NETアセンブリを呼び出す方法を見つけ出すならば、あなたはgitsharpを使用することができますし、私はそれが最善かつ最も簡単な選択肢になると思います!
gitsharpのAPIのユニットテストを見てみましょう。彼らは、このような、チェックアウト、枝を切り替え、コミットの変更の表示などのステータスや他の高レベルの操作がコミットなどで取得する方法を示します。
- ヘノン
最大の多くは、すでに.NETアセンブリを使用しています。それは上の開発するための最も簡単なものでなければなりません。テキストを解析以外にも....とても脆弱です。私はテキストを解析忘れると思います。