diff options
Diffstat (limited to 'src/gitalias/git-extract-issue.go')
| -rw-r--r-- | src/gitalias/git-extract-issue.go | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/gitalias/git-extract-issue.go b/src/gitalias/git-extract-issue.go deleted file mode 100644 index 4681d4d..0000000 --- a/src/gitalias/git-extract-issue.go +++ /dev/null @@ -1,38 +0,0 @@ -package main - -import ( - "fmt" - "os" - "regexp" -) - -func main() { - argv := os.Args - argc := len(argv) - if argc != 2 { - return - } - branchName := argv[1] - fmt.Println(extractIssueNumberFromBranchName(branchName)) -} - -// * 123 => #123 -// * 123-suffix => #123 -// * feature/123 => #123 -// * feature/123-suffix => #123 -// * feature/prefix-123 => prefix-123 -// * feature/prefix-123-suffix => prefix-123 -func extractIssueNumberFromBranchName(branchName string) string { - pattern := regexp.MustCompile(`\A(?:\w+/)?(\w+-)?(\d+)(?:-\w+)*\z`) - matches := pattern.FindSubmatch([]byte(branchName)) - if len(matches) != 3 { - return "" - } - var prefix string - if len(matches[1]) == 0 { - prefix = "#" - } else { - prefix = string(matches[1]) - } - return prefix + string(matches[2]) -} |
