diff options
| author | nsfisis <nsfisis@gmail.com> | 2022-10-16 00:08:26 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2022-10-16 00:08:26 +0900 |
| commit | dc283f029e04f3527d717fdc2e5cbf58f8088f78 (patch) | |
| tree | 9b852b08d575dac285c86c14e96c43417b00c861 /src | |
| parent | 5bbaf2fbb6519a76429e6074e562c341bbf2066e (diff) | |
| download | dotfiles-dc283f029e04f3527d717fdc2e5cbf58f8088f78.tar.gz dotfiles-dc283f029e04f3527d717fdc2e5cbf58f8088f78.tar.zst dotfiles-dc283f029e04f3527d717fdc2e5cbf58f8088f78.zip | |
git:git-sw: prepend feature/ to integer branch name
Diffstat (limited to 'src')
| -rw-r--r-- | src/gitalias/git-sw.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gitalias/git-sw.go b/src/gitalias/git-sw.go index f4cab21..78f7397 100644 --- a/src/gitalias/git-sw.go +++ b/src/gitalias/git-sw.go @@ -5,6 +5,7 @@ import ( "os" "os/exec" "strings" + "unicode" ) func main() { @@ -12,10 +13,17 @@ func main() { if requiresDetachFlag(os.Args) { gitArgs = append(gitArgs, "--detach") } + firstPositionalArg := true for i, argv := range os.Args { if i == 0 { continue // argv[0] is a program name. } + if firstPositionalArg && !strings.HasPrefix(argv, "-") { + if isInt(argv) { + argv = "feature/" + argv + } + firstPositionalArg = false + } gitArgs = append(gitArgs, argv) } @@ -45,3 +53,12 @@ func requiresDetachFlag(argv []string) bool { firstArg := argv[1] return strings.HasPrefix(firstArg, "origin/") || strings.HasPrefix(firstArg, "upstream/") } + +func isInt(s string) bool { + for _, c := range s { + if !unicode.IsDigit(c) { + return false + } + } + return true +} |
