diff options
author | nemoinho <felix@nehrke.info> | 2018-08-14 19:49:33 +0200 |
---|---|---|
committer | techknowlogick <techknowlogick@users.noreply.github.com> | 2018-08-14 13:49:33 -0400 |
commit | ca112f0a04ea7f4fdb8e6dc1e83e293a598abc50 (patch) | |
tree | 419042b6b41dccc68030df68f8112d08f3a6b1c0 /routers/repo | |
parent | 03e558c29b55c522c52608065d2b688f8a9a4bc3 (diff) | |
download | gitea-ca112f0a04ea7f4fdb8e6dc1e83e293a598abc50.tar.gz gitea-ca112f0a04ea7f4fdb8e6dc1e83e293a598abc50.zip |
Add whitespace handling to PR-comparsion (#4683)
* Add whitespace handling to PR-comparsion
In a PR we have to keep an eye on a lot of different things. But sometimes the
bare code is the key-thing we want to care about and just don't want to care
about fixed indention on some places. Especially if we follow the pathfinder
rule we face a lot of these situations because these changes don't break the
code in many languages but improve the readability a lot.
So this change introduce a fine graned button to adjust the way how the
reviewer want to see whitespace-changes within the code.
The possibilities reflect the possibilities from git itself except of the
`--ignore-blank-lines` flag because that one is also handled by `-b` and is
really rare.
Signed-off-by: Felix Nehrke <felix@nehrke.info>
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/middlewares.go | 11 | ||||
-rw-r--r-- | routers/repo/pull.go | 13 |
2 files changed, 21 insertions, 3 deletions
diff --git a/routers/repo/middlewares.go b/routers/repo/middlewares.go index 8afad5be64..4dee272edb 100644 --- a/routers/repo/middlewares.go +++ b/routers/repo/middlewares.go @@ -50,3 +50,14 @@ func SetDiffViewStyle(ctx *context.Context) { ctx.ServerError("ErrUpdateDiffViewStyle", err) } } + +// SetWhitespaceBehavior set whitespace behavior as render variable +func SetWhitespaceBehavior(ctx *context.Context) { + whitespaceBehavior := ctx.Query("whitespace") + switch whitespaceBehavior { + case "ignore-all", "ignore-eol", "ignore-change": + ctx.Data["WhitespaceBehavior"] = whitespaceBehavior + default: + ctx.Data["WhitespaceBehavior"] = "" + } +} diff --git a/routers/repo/pull.go b/routers/repo/pull.go index 6a1aaf314d..57fe33f855 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -390,6 +390,12 @@ func ViewPullFiles(ctx *context.Context) { } pull := issue.PullRequest + whitespaceFlags := map[string]string{ + "ignore-all": "-w", + "ignore-change": "-b", + "ignore-eol": "--ignore-space-at-eol", + "": ""} + var ( diffRepoPath string startCommitID string @@ -455,11 +461,12 @@ func ViewPullFiles(ctx *context.Context) { ctx.Data["Reponame"] = pull.HeadRepo.Name } - diff, err := models.GetDiffRange(diffRepoPath, + diff, err := models.GetDiffRangeWithWhitespaceBehavior(diffRepoPath, startCommitID, endCommitID, setting.Git.MaxGitDiffLines, - setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles) + setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, + whitespaceFlags[ctx.Data["WhitespaceBehavior"].(string)]) if err != nil { - ctx.ServerError("GetDiffRange", err) + ctx.ServerError("GetDiffRangeWithWhitespaceBehavior", err) return } |