From 3b8b8a2ee35b5ca603f02d5eaeac8c3d7334353d Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 16 Nov 2017 22:22:38 -0500 Subject: pull_request: able to ignore whitespace when check conflict (#4834) --- models/pull.go | 8 +++++++- models/repo.go | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/pull.go b/models/pull.go index ae8f4e7d..df7c0ab6 100644 --- a/models/pull.go +++ b/models/pull.go @@ -392,10 +392,16 @@ func (pr *PullRequest) testPatch() (err error) { return fmt.Errorf("UpdateLocalCopy [%d]: %v", pr.BaseRepoID, err) } + args := []string{"apply", "--check"} + if pr.BaseRepo.PullsIgnoreWhitespace { + args = append(args, "--ignore-whitespace") + } + args = append(args, patchPath) + pr.Status = PULL_REQUEST_STATUS_CHECKING _, stderr, err := process.ExecDir(-1, pr.BaseRepo.LocalCopyPath(), fmt.Sprintf("testPatch (git apply --check): %d", pr.BaseRepo.ID), - "git", "apply", "--check", patchPath) + "git", args...) if err != nil { log.Trace("PullRequest[%d].testPatch (apply): has conflit\n%s", pr.ID, stderr) pr.Status = PULL_REQUEST_STATUS_CONFLICT diff --git a/models/repo.go b/models/repo.go index b770779a..50696558 100644 --- a/models/repo.go +++ b/models/repo.go @@ -184,6 +184,7 @@ type Repository struct { ExternalTrackerStyle string ExternalMetas map[string]string `xorm:"-"` EnablePulls bool `xorm:"NOT NULL DEFAULT true"` + PullsIgnoreWhitespace bool `xorm:"NOT NULL DEFAULT false"` PullsAllowRebase bool `xorm:"NOT NULL DEFAULT false"` IsFork bool `xorm:"NOT NULL DEFAULT false"` -- cgit v1.2.3