aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com')
-rw-r--r--vendor/github.com/gogits/git-module/commit.go54
-rw-r--r--vendor/github.com/gogits/git-module/git.go2
-rw-r--r--vendor/github.com/gogits/go-gogs-client/gogs.go2
-rw-r--r--vendor/github.com/gogits/go-gogs-client/repo_hook.go7
4 files changed, 62 insertions, 3 deletions
diff --git a/vendor/github.com/gogits/git-module/commit.go b/vendor/github.com/gogits/git-module/commit.go
index b68a6b97..6cc6b5fd 100644
--- a/vendor/github.com/gogits/git-module/commit.go
+++ b/vendor/github.com/gogits/git-module/commit.go
@@ -6,8 +6,10 @@ package git
import (
"bufio"
+ "bytes"
"container/list"
"fmt"
+ "io"
"net/http"
"strconv"
"strings"
@@ -252,3 +254,55 @@ func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {
}
return nil, nil
}
+
+// CommitFileStatus represents status of files in a commit.
+type CommitFileStatus struct {
+ Added []string
+ Removed []string
+ Modified []string
+}
+
+func NewCommitFileStatus() *CommitFileStatus {
+ return &CommitFileStatus{
+ []string{}, []string{}, []string{},
+ }
+}
+
+// GetCommitFileStatus returns file status of commit in given repository.
+func GetCommitFileStatus(repoPath, commitID string) (*CommitFileStatus, error) {
+ stdout, w := io.Pipe()
+ defer stdout.Close()
+
+ stderr := new(bytes.Buffer)
+
+ fileStatus := NewCommitFileStatus()
+ go func() {
+ scanner := bufio.NewScanner(stdout)
+ for scanner.Scan() {
+ fields := strings.Fields(scanner.Text())
+ if len(fields) < 2 {
+ continue
+ }
+
+ switch fields[0][0] {
+ case 'A':
+ fileStatus.Added = append(fileStatus.Added, fields[1])
+ case 'D':
+ fileStatus.Removed = append(fileStatus.Removed, fields[1])
+ case 'M':
+ fileStatus.Modified = append(fileStatus.Modified, fields[1])
+ }
+ }
+ }()
+
+ if err := NewCommand("log", "-1", "--name-status", "--pretty=format:''", commitID).RunInDirPipeline(repoPath, w, stderr); err != nil {
+ return nil, concatenateError(err, stderr.String())
+ }
+
+ return fileStatus, nil
+}
+
+// FileStatus returns file status of commit.
+func (c *Commit) FileStatus() (*CommitFileStatus, error) {
+ return GetCommitFileStatus(c.repo.Path, c.ID.String())
+}
diff --git a/vendor/github.com/gogits/git-module/git.go b/vendor/github.com/gogits/git-module/git.go
index 28426acd..2ba3b1a5 100644
--- a/vendor/github.com/gogits/git-module/git.go
+++ b/vendor/github.com/gogits/git-module/git.go
@@ -10,7 +10,7 @@ import (
"time"
)
-const _VERSION = "0.5.0"
+const _VERSION = "0.5.1"
func Version() string {
return _VERSION
diff --git a/vendor/github.com/gogits/go-gogs-client/gogs.go b/vendor/github.com/gogits/go-gogs-client/gogs.go
index e691dd64..2869e6c2 100644
--- a/vendor/github.com/gogits/go-gogs-client/gogs.go
+++ b/vendor/github.com/gogits/go-gogs-client/gogs.go
@@ -14,7 +14,7 @@ import (
)
func Version() string {
- return "0.12.10"
+ return "0.12.11"
}
// Client represents a Gogs API client.
diff --git a/vendor/github.com/gogits/go-gogs-client/repo_hook.go b/vendor/github.com/gogits/go-gogs-client/repo_hook.go
index 1ea75468..3d06b9fc 100644
--- a/vendor/github.com/gogits/go-gogs-client/repo_hook.go
+++ b/vendor/github.com/gogits/go-gogs-client/repo_hook.go
@@ -86,7 +86,12 @@ type PayloadCommit struct {
URL string `json:"url"`
Author *PayloadUser `json:"author"`
Committer *PayloadUser `json:"committer"`
- Timestamp time.Time `json:"timestamp"`
+
+ Added []string `json:"added"`
+ Removed []string `json:"removed"`
+ Modified []string `json:"modified"`
+
+ Timestamp time.Time `json:"timestamp"`
}
var (