mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Propagate context and ensure git commands run in request context (#17868)
This PR continues the work in #17125 by progressively ensuring that git commands run within the request context. This now means that the if there is a git repo already open in the context it will be used instead of reopening it. Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		@@ -37,7 +37,7 @@ func SearchPointerBlobs(ctx context.Context, repo *git.Repository, pointerChan c
 | 
			
		||||
	go createPointerResultsFromCatFileBatch(ctx, catFileBatchReader, &wg, pointerChan)
 | 
			
		||||
 | 
			
		||||
	// 3. Take the shas of the blobs and batch read them
 | 
			
		||||
	go pipeline.CatFileBatch(shasToBatchReader, catFileBatchWriter, &wg, basePath)
 | 
			
		||||
	go pipeline.CatFileBatch(ctx, shasToBatchReader, catFileBatchWriter, &wg, basePath)
 | 
			
		||||
 | 
			
		||||
	// 2. From the provided objects restrict to blobs <=1k
 | 
			
		||||
	go pipeline.BlobsLessThan1024FromCatFileBatchCheck(catFileCheckReader, shasToBatchWriter, &wg)
 | 
			
		||||
@@ -47,11 +47,11 @@ func SearchPointerBlobs(ctx context.Context, repo *git.Repository, pointerChan c
 | 
			
		||||
		revListReader, revListWriter := io.Pipe()
 | 
			
		||||
		shasToCheckReader, shasToCheckWriter := io.Pipe()
 | 
			
		||||
		wg.Add(2)
 | 
			
		||||
		go pipeline.CatFileBatchCheck(shasToCheckReader, catFileCheckWriter, &wg, basePath)
 | 
			
		||||
		go pipeline.CatFileBatchCheck(ctx, shasToCheckReader, catFileCheckWriter, &wg, basePath)
 | 
			
		||||
		go pipeline.BlobsFromRevListObjects(revListReader, shasToCheckWriter, &wg)
 | 
			
		||||
		go pipeline.RevListAllObjects(revListWriter, &wg, basePath, errChan)
 | 
			
		||||
		go pipeline.RevListAllObjects(ctx, revListWriter, &wg, basePath, errChan)
 | 
			
		||||
	} else {
 | 
			
		||||
		go pipeline.CatFileBatchCheckAllObjects(catFileCheckWriter, &wg, basePath, errChan)
 | 
			
		||||
		go pipeline.CatFileBatchCheckAllObjects(ctx, catFileCheckWriter, &wg, basePath, errChan)
 | 
			
		||||
	}
 | 
			
		||||
	wg.Wait()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user