aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/repo_archive.go
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2022-10-23 22:44:45 +0800
committerGitHub <noreply@github.com>2022-10-23 22:44:45 +0800
commitdcd9fc7ee894700f702f3847d7d2a41d6a009b7e (patch)
tree76b1d6fdb2a760f3da57bbe566146d1c79ab5a87 /modules/git/repo_archive.go
parent4eeea7b30ee5d90ed4e9410ec5c7d0252ada3a3b (diff)
downloadgitea-dcd9fc7ee894700f702f3847d7d2a41d6a009b7e.tar.gz
gitea-dcd9fc7ee894700f702f3847d7d2a41d6a009b7e.zip
Refactor git command arguments and make all arguments to be safe to be used (#21535)
Follow #21464 Make all git command arguments strictly safe. Most changes are one-to-one replacing, keep all existing logic.
Diffstat (limited to 'modules/git/repo_archive.go')
-rw-r--r--modules/git/repo_archive.go15
1 files changed, 5 insertions, 10 deletions
diff --git a/modules/git/repo_archive.go b/modules/git/repo_archive.go
index 4a97989949..a0cbfba5d9 100644
--- a/modules/git/repo_archive.go
+++ b/modules/git/repo_archive.go
@@ -44,20 +44,15 @@ func (repo *Repository) CreateArchive(ctx context.Context, format ArchiveType, t
return fmt.Errorf("unknown format: %v", format)
}
- args := []string{
- "archive",
- }
+ cmd := NewCommand(ctx, "archive")
if usePrefix {
- args = append(args, "--prefix="+filepath.Base(strings.TrimSuffix(repo.Path, ".git"))+"/")
+ cmd.AddArguments(CmdArg("--prefix=" + filepath.Base(strings.TrimSuffix(repo.Path, ".git")) + "/"))
}
-
- args = append(args,
- "--format="+format.String(),
- commitID,
- )
+ cmd.AddArguments(CmdArg("--format=" + format.String()))
+ cmd.AddDynamicArguments(commitID)
var stderr strings.Builder
- err := NewCommand(ctx, args...).Run(&RunOpts{
+ err := cmd.Run(&RunOpts{
Dir: repo.Path,
Stdout: target,
Stderr: &stderr,