diff options
author | zeripath <art27@cantab.net> | 2021-11-30 20:06:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 20:06:32 +0000 |
commit | 01087e9eef21ff5ea1cebbb1e84933954671fdf2 (patch) | |
tree | ae618785a3bd46e012096683e2fd2309f87c571d /modules/git/repo_base_gogit.go | |
parent | d894c90b703ce215e2319ae2e2bf95989f77805d (diff) | |
download | gitea-01087e9eef21ff5ea1cebbb1e84933954671fdf2.tar.gz gitea-01087e9eef21ff5ea1cebbb1e84933954671fdf2.zip |
Make Requests Processes and create process hierarchy. Associate OpenRepository with context. (#17125)
This PR registers requests with the process manager and manages hierarchy within the processes.
Git repos are then associated with a context, (usually the request's context) - with sub commands using this context as their base context.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'modules/git/repo_base_gogit.go')
-rw-r--r-- | modules/git/repo_base_gogit.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/git/repo_base_gogit.go b/modules/git/repo_base_gogit.go index afa5383b11..7299526562 100644 --- a/modules/git/repo_base_gogit.go +++ b/modules/git/repo_base_gogit.go @@ -9,6 +9,7 @@ package git import ( + "context" "errors" "path/filepath" @@ -30,10 +31,17 @@ type Repository struct { gogitRepo *gogit.Repository gogitStorage *filesystem.Storage gpgSettings *GPGSettings + + Ctx context.Context } // OpenRepository opens the repository at the given path. func OpenRepository(repoPath string) (*Repository, error) { + return OpenRepositoryCtx(DefaultContext, repoPath) +} + +// OpenRepositoryCtx opens the repository at the given path within the context.Context +func OpenRepositoryCtx(ctx context.Context, repoPath string) (*Repository, error) { repoPath, err := filepath.Abs(repoPath) if err != nil { return nil, err @@ -60,6 +68,7 @@ func OpenRepository(repoPath string) (*Repository, error) { gogitRepo: gogitRepo, gogitStorage: storage, tagCache: newObjectCache(), + Ctx: ctx, }, nil } |