diff options
Diffstat (limited to 'pkg/vcs/git.go')
| -rw-r--r-- | pkg/vcs/git.go | 11 |
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 +} |
