mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-31 09:15:26 +01:00 
			
		
		
		
	 b868d30434
			
		
	
	b868d30434
	
	
	
		
			
			Co-authored-by: techknowlogick <hello@techknowlogick.com> Co-committed-by: techknowlogick <hello@techknowlogick.com>
		
			
				
	
	
		
			35 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			748 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2020 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package git
 | |
| 
 | |
| import (
 | |
| 	"github.com/go-git/go-git/v5"
 | |
| )
 | |
| 
 | |
| // TeaRepo is a go-git Repository, with an extended high level interface.
 | |
| type TeaRepo struct {
 | |
| 	*git.Repository
 | |
| }
 | |
| 
 | |
| // RepoForWorkdir tries to open the git repository in the local directory
 | |
| // for reading or modification.
 | |
| func RepoForWorkdir() (*TeaRepo, error) {
 | |
| 	return RepoFromPath("")
 | |
| }
 | |
| 
 | |
| // RepoFromPath tries to open the git repository by path
 | |
| func RepoFromPath(path string) (*TeaRepo, error) {
 | |
| 	if len(path) == 0 {
 | |
| 		path = "./"
 | |
| 	}
 | |
| 	repo, err := git.PlainOpenWithOptions(path, &git.PlainOpenOptions{
 | |
| 		DetectDotGit: true,
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	return &TeaRepo{repo}, nil
 | |
| }
 |