2017-11-11 9 views
0

たとえば、tempというブランチに対してプルリクエストを行ったとします。私の約束はc1,c2c3です。そのPRのためのdiffを得る方法?ジェンキンスでプルリクエストの差分を取得するにはどうすればよいですか?

私はgit diff HEAD~3 HEADを使用できますが、わからない場合は、tempより3つ前にコミットしていますが、どうすればよいですか?ジェンキンスのやり方は? env.BRANCH_NAMEのような変数を使用していますか?

答えて

0

git diff temp...HEAD

それはgit diff $(git merge-base temp HEAD) HEADと同等です。

tempの履歴がA-B-C-D-Eであり、HEADの値がA-B-c1-c2-c3であるとします。 git merge-base temp HEADBであり、git diff B HEADは、c1,c2、およびc3の合計diffです。

+0

Jenkinsでは、どの基本ブランチがPRであるかを知る方法がありますか? – ryan

+0

@ryanリポジトリはどこにホストされていますか? GithubやGitlabのようなホスティングサービスは、安らかなapisのセットを提供します。 Gitlabの 'GET/merge_requests'やGithubの' GET/repos /:owner /:repo/pulls'によって、PRに関する基本的な分岐や他の多くの詳細を得ることができます。他のホスティングサービスも同様のapiを持つ必要があります。 – ElpieKay

+0

@ryan Jenkinsのプラグインでもベースブランチを取得できるはずです。 – ElpieKay

関連する問題