| 123456789101112131415161718192021222324252627282930313233 | // Copyright 2015 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.package gitimport (	"fmt"	"path/filepath"	"strings")type ArchiveType intconst (	ZIP ArchiveType = iota + 1	TARGZ)func (c *Commit) CreateArchive(target string, archiveType ArchiveType) error {	var format string	switch archiveType {	case ZIP:		format = "zip"	case TARGZ:		format = "tar.gz"	default:		return fmt.Errorf("unknown format: %v", archiveType)	}	_, err := NewCommand("archive", "--prefix="+filepath.Base(strings.TrimSuffix(c.repo.Path, ".git"))+"/", "--format="+format, "-o", target, c.ID.String()).RunInDir(c.repo.Path)	return err}
 |