aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/vcs/git.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/vcs/git.go')
-rw-r--r--pkg/vcs/git.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkg/vcs/git.go b/pkg/vcs/git.go
index 7425066d2..b75859338 100644
--- a/pkg/vcs/git.go
+++ b/pkg/vcs/git.go
@@ -654,3 +654,14 @@ func (git *git) PushCommit(repo, commit string) error {
}
return nil
}
+
+var fileNameRe = regexp.MustCompile(`(?m)^diff.* b\/([^\s]+)`)
+
+// ParseGitDiff extracts the files modified in the git patch.
+func ParseGitDiff(patch []byte) []string {
+ var files []string
+ for _, match := range fileNameRe.FindAllStringSubmatch(string(patch), -1) {
+ files = append(files, match[1])
+ }
+ return files
+}