From 25531c71a78b98af91f25d5e6eaa362e5fc54a86 Mon Sep 17 00:00:00 2001 From: David Svantesson Date: Thu, 9 Jan 2020 02:47:45 +0100 Subject: Mark PR reviews as stale at push and allow to dismiss stale approvals (#9532) Fix #5997. If a push causes the patch/diff of a PR towards target branch to change, all existing reviews for the PR will be set and shown as stale. New branch protection option to dismiss stale approvals are added. To show that a review is not based on the latest PR changes, an hourglass is shown --- modules/git/repo_compare.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'modules/git/repo_compare.go') diff --git a/modules/git/repo_compare.go b/modules/git/repo_compare.go index 53b8af4bb4..683ac7a7ee 100644 --- a/modules/git/repo_compare.go +++ b/modules/git/repo_compare.go @@ -112,3 +112,9 @@ func (repo *Repository) GetPatch(base, head string, w io.Writer) error { return NewCommand("format-patch", "--binary", "--stdout", base+"..."+head). RunInDirPipeline(repo.Path, w, nil) } + +// GetDiffFromMergeBase generates and return patch data from merge base to head +func (repo *Repository) GetDiffFromMergeBase(base, head string, w io.Writer) error { + return NewCommand("diff", "-p", "--binary", base+"..."+head). + RunInDirPipeline(repo.Path, w, nil) +} -- cgit v1.2.3