問題タブ [git-patch]
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 - 実際のマージの前に、Github プル リクエストとマージのシミュレーション
プル リクエストがマージされる場合と同様に、(実際にマージされる前に) ソースのローカル コピーを生成するために従う必要がある一般的な手順は何ですか?
状況の例: ユーザー A が repo_X (ユーザー X が所有) を repo_X_A にフォークし、ソースsrc/brittle.cとlibs/brittle-lib.cに変更を加え、レポ repo_X の github プル リクエストを発行したとします。ここで、ソースを repo_X にマージする前にソースでいくつかのチェックを実行したいユーザー X であると仮定すると、これらのソースbrittle.cとbrittle-lib.cのコピーを変更して生成したいと考えています (変更を実際にマージすることなく)。 repo_X)。プログラムでそれを行うことはできますか?
GitHub API (特にプル要求 API ) を介して、特定のプル要求に対して変更されたファイルのリストを取得できます。では、プル リクエストで変更を適用した後のソースのローカル コピーを生成するにはどうすればよいでしょうか。
正しければ、差分を .patch 形式で (再度 API を介して) 取得し、リポジトリ/ブランチ/タグからソースを取得し、差分をパッチする必要があります。Python プログラムで変更を適用するこの部分を達成する方法についての指針が必要ですか? *nix パッチ ユーティリティに python バインディングを使用していますか?
これは本当に正しい方法ですか、それとももっと簡単/より良い/エレガントな方法はありますか? python-requests と github API を試しています。
git - git patch の適用時にコンテキスト行のスペースの違いを無視する
いくつかの git リポジトリから生成されたパッチを適用しようとしています。パッチのコンテキスト行は次のようになります
私のコードでは、次のようになります
パッチを当てると
それは言う
上記のスペースのみが異なるコンテキスト ブロックを提供します。スペースの問題を修正すると、問題はなくなります。コンテキスト行内のスペースを無視できるように指定する方法はありますか?
git - コンテキストなしで git パッチを表示する
実際の変更とは別に、各パッチには周囲の線が少し含まれている
ため、その情報を使用して、編集された線、削除された線などを視覚的に表現したものと並べて比較したいと思いました。メルド/IDEに慣れています。
私は「プラスマイナス」の見方が嫌いです。
パッチには影響を受けるファイルの内容全体が欠落していることはわかっていますが、1 つまたは 2 つの周囲の行が常にパッチに存在します。これで十分です。
これを可能にするツールはありますか?
python - ファイルに書き込む代わりに、git format-patch データを変数に保存する方法は?
git format-patch
Pythonを使用してディスクに書き込む代わりに、出力を変数に保存する方法は?
git diff
または、件名を付けて作成する他の方法はありますか?
git - Pythonを使用してgitパッチからヘッダー情報を取得するにはどうすればよいですか?
gitパッチファイルから/からの電子メール送信と日付を取得するコマンドはありますか、それともパッチファイルの解析から読み取る必要がありますか?
git - Outlook が関係する場合に Git am を使用する
仮想マシンで Linux を使用していますが、私のホストは Outlook がインストールされた Windows です。現在、git パッチを含むメールを受信すると、Outlook にポップアップ表示されます。
これらのパッチを適用するにはどうすればよいですか? それらは添付ファイルとして送信されるのではなく、おそらく git send mail を介して送信されます。
VM メールボックスで受信するように VM を設定できますか? (今のところ成功していません)
パッチを git am に適した形式でフォルダに保存できますか? これまでのところ、私はこの角度を試してきました。メッセージをフォルダーにドラッグアンドドロップしてから、そのフォルダーに git am するとうまくいくと思いましたが、これを行うと、Outlook はメッセージを .eml ではなく .msg として保存します。そして、彼らは改宗する方法ではないようです。テキストファイルとして保存しようとしましたが、git amで「パッチに有効な電子メールアドレスがありません」またはgit applyで「末尾の空白」のいずれかが表示されます。Windowsの行末を削除することで空白の問題を解決できると思いますが、それはすべてハックのように思えます.商用チームの一員としてこれを行っているので、正しく動作させたいと思います.
-助けてくれてありがとう、クリス