mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 12:43:27 +00:00 
			
		
		
		
	Move git command to git/gitcmd (#35483)
The name cmd is already used in many places and may cause conflicts, so I chose `gitcmd` instead to minimize potential naming conflicts.
This commit is contained in:
		@@ -10,13 +10,14 @@ import (
 | 
			
		||||
 | 
			
		||||
	repo_model "code.gitea.io/gitea/models/repo"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/git/gitcmd"
 | 
			
		||||
	"code.gitea.io/gitea/modules/indexer/code/internal"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func getDefaultBranchSha(ctx context.Context, repo *repo_model.Repository) (string, error) {
 | 
			
		||||
	stdout, _, err := git.NewCommand("show-ref", "-s").AddDynamicArguments(git.BranchPrefix+repo.DefaultBranch).RunStdString(ctx, &git.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	stdout, _, err := gitcmd.NewCommand("show-ref", "-s").AddDynamicArguments(git.BranchPrefix+repo.DefaultBranch).RunStdString(ctx, &gitcmd.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
@@ -32,8 +33,8 @@ func getRepoChanges(ctx context.Context, repo *repo_model.Repository, revision s
 | 
			
		||||
 | 
			
		||||
	needGenesis := len(status.CommitSha) == 0
 | 
			
		||||
	if !needGenesis {
 | 
			
		||||
		hasAncestorCmd := git.NewCommand("merge-base").AddDynamicArguments(status.CommitSha, revision)
 | 
			
		||||
		stdout, _, _ := hasAncestorCmd.RunStdString(ctx, &git.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
		hasAncestorCmd := gitcmd.NewCommand("merge-base").AddDynamicArguments(status.CommitSha, revision)
 | 
			
		||||
		stdout, _, _ := hasAncestorCmd.RunStdString(ctx, &gitcmd.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
		needGenesis = len(stdout) == 0
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -86,7 +87,7 @@ func parseGitLsTreeOutput(stdout []byte) ([]internal.FileUpdate, error) {
 | 
			
		||||
// genesisChanges get changes to add repo to the indexer for the first time
 | 
			
		||||
func genesisChanges(ctx context.Context, repo *repo_model.Repository, revision string) (*internal.RepoChanges, error) {
 | 
			
		||||
	var changes internal.RepoChanges
 | 
			
		||||
	stdout, _, runErr := git.NewCommand("ls-tree", "--full-tree", "-l", "-r").AddDynamicArguments(revision).RunStdBytes(ctx, &git.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	stdout, _, runErr := gitcmd.NewCommand("ls-tree", "--full-tree", "-l", "-r").AddDynamicArguments(revision).RunStdBytes(ctx, &gitcmd.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	if runErr != nil {
 | 
			
		||||
		return nil, runErr
 | 
			
		||||
	}
 | 
			
		||||
@@ -98,8 +99,8 @@ func genesisChanges(ctx context.Context, repo *repo_model.Repository, revision s
 | 
			
		||||
 | 
			
		||||
// nonGenesisChanges get changes since the previous indexer update
 | 
			
		||||
func nonGenesisChanges(ctx context.Context, repo *repo_model.Repository, revision string) (*internal.RepoChanges, error) {
 | 
			
		||||
	diffCmd := git.NewCommand("diff", "--name-status").AddDynamicArguments(repo.CodeIndexerStatus.CommitSha, revision)
 | 
			
		||||
	stdout, _, runErr := diffCmd.RunStdString(ctx, &git.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	diffCmd := gitcmd.NewCommand("diff", "--name-status").AddDynamicArguments(repo.CodeIndexerStatus.CommitSha, revision)
 | 
			
		||||
	stdout, _, runErr := diffCmd.RunStdString(ctx, &gitcmd.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
	if runErr != nil {
 | 
			
		||||
		// previous commit sha may have been removed by a force push, so
 | 
			
		||||
		// try rebuilding from scratch
 | 
			
		||||
@@ -115,9 +116,9 @@ func nonGenesisChanges(ctx context.Context, repo *repo_model.Repository, revisio
 | 
			
		||||
	updatedFilenames := make([]string, 0, 10)
 | 
			
		||||
 | 
			
		||||
	updateChanges := func() error {
 | 
			
		||||
		cmd := git.NewCommand("ls-tree", "--full-tree", "-l").AddDynamicArguments(revision).
 | 
			
		||||
		cmd := gitcmd.NewCommand("ls-tree", "--full-tree", "-l").AddDynamicArguments(revision).
 | 
			
		||||
			AddDashesAndList(updatedFilenames...)
 | 
			
		||||
		lsTreeStdout, _, err := cmd.RunStdBytes(ctx, &git.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
		lsTreeStdout, _, err := cmd.RunStdBytes(ctx, &gitcmd.RunOpts{Dir: repo.RepoPath()})
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user