aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/gogs/git-module/commit_archive.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2018-05-27 09:07:15 +0800
committerUnknwon <u@gogs.io>2018-05-27 09:07:15 +0800
commite33d9e77f43e6829ea967e47964d13f5a8aec5cc (patch)
treeace1a09414a66fd7e293b3837865633168ba4f6e /vendor/github.com/gogs/git-module/commit_archive.go
parentaff42082441715559bb2e62e11550af1a946a8c9 (diff)
vendor: rename "gogits" to "gogs"
Diffstat (limited to 'vendor/github.com/gogs/git-module/commit_archive.go')
-rw-r--r--vendor/github.com/gogs/git-module/commit_archive.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/vendor/github.com/gogs/git-module/commit_archive.go b/vendor/github.com/gogs/git-module/commit_archive.go
new file mode 100644
index 00000000..1066ba69
--- /dev/null
+++ b/vendor/github.com/gogs/git-module/commit_archive.go
@@ -0,0 +1,33 @@
+// 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 git
+
+import (
+ "fmt"
+ "path/filepath"
+ "strings"
+)
+
+type ArchiveType int
+
+const (
+ 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
+}