0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-23 15:53:07 -05:00
forgejo/routers/web/repo
wxiaoguang b877504b03
Refactor git.Command.Run*, introduce RunWithContextString and RunWithContextBytes (#19266)
This follows 
* https://github.com/go-gitea/gitea/issues/18553

Introduce `RunWithContextString` and `RunWithContextBytes` to help the refactoring. Add related unit tests. They keep the same behavior to save stderr into err.Error() as `RunInXxx` before.

Remove `RunInDirTimeoutPipeline` `RunInDirTimeoutFullPipeline` `RunInDirTimeout` `RunInDirTimeoutEnv`  `RunInDirPipeline`  `RunInDirFullPipeline`  `RunTimeout`, `RunInDirTimeoutEnvPipeline`, `RunInDirTimeoutEnvFullPipeline`, `RunInDirTimeoutEnvFullPipelineFunc`.

Then remaining `RunInDir` `RunInDirBytes` `RunInDirWithEnv` can be easily refactored in next PR with a simple search & replace:
* before: `stdout, err := RunInDir(path)`
* next: `stdout, _, err := RunWithContextString(&git.RunContext{Dir:path})`

Other changes:
1. When `timeout <= 0`, use default. Because `timeout==0` is meaningless and could cause bugs. And now many functions becomes more simple, eg: `GitGcRepos` 9 lines to 1 line. `Fsck` 6 lines to 1 line.
2. Only set defaultCommandExecutionTimeout when the option `setting.Git.Timeout.Default > 0`
2022-03-31 13:56:22 +02:00
..
activity.go Propagate context and ensure git commands run in request context (#17868) 2022-01-19 23:26:57 +00:00
attachment.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
blame.go Refactor i18n, use Locale to provide i18n/translation related functions (#18648) 2022-02-08 11:02:30 +08:00
branch.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
cherry_pick.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
commit.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
compare.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
download.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
editor.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
editor_test.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
http.go Refactor git.Command.Run*, introduce RunWithContextString and RunWithContextBytes (#19266) 2022-03-31 13:56:22 +02:00
http_test.go
issue.go Move reaction to models/issues/ (#19264) 2022-03-31 17:20:39 +08:00
issue_content_history.go Use ctx instead of db.DefaultContext in some packages(routers/services/modules) (#19163) 2022-03-22 16:22:54 +01:00
issue_dependency.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
issue_label.go Move some issue methods as functions (#19255) 2022-03-29 16:57:33 +02:00
issue_label_test.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
issue_lock.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
issue_stopwatch.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
issue_test.go format with gofumpt (#18184) 2022-01-20 18:46:10 +01:00
issue_timetrack.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
issue_watch.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
lfs.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
main_test.go Decouple unit test code from business code (#17623) 2021-11-12 22:36:47 +08:00
middlewares.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
migrate.go Use a more general (and faster) method to sanitize URLs with credentials (#19239) 2022-03-31 10:25:40 +08:00
milestone.go Only view milestones from current repo (#18414) 2022-01-26 20:01:35 +00:00
packages.go Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
patch.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
projects.go Move project files into models/project sub package (#17704) 2022-03-29 22:16:31 +08:00
projects_test.go Decouple unit test code from business code (#17623) 2021-11-12 22:36:47 +08:00
pull.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
pull_review.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
release.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
release_test.go Decouple unit test, remove intermediate unittestbridge package (#17662) 2021-11-16 16:53:21 +08:00
repo.go Move init repository related functions to modules (#19159) 2022-03-29 15:23:45 +08:00
search.go Update HTTP status codes to modern codes (#18063) 2022-03-23 12:54:07 +08:00
setting.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
setting_protected_branch.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
settings_test.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
tag.go Move organization related structs into sub package (#18518) 2022-03-29 14:29:02 +08:00
topic.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
view.go Use ctx instead of db.DefaultContext in some packages(routers/services/modules) (#19163) 2022-03-22 16:22:54 +01:00
webhook.go Add Package Registry (#16510) 2022-03-30 16:42:47 +08:00
wiki.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00
wiki_test.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00