aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/git/utils.go')
-rw-r--r--modules/git/utils.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/git/utils.go b/modules/git/utils.go
index e791f16041..2b823366b6 100644
--- a/modules/git/utils.go
+++ b/modules/git/utils.go
@@ -88,6 +88,19 @@ func RefEndName(refStr string) string {
return refStr
}
+// SplitRefName splits a full refname to reftype and simple refname
+func SplitRefName(refStr string) (string, string) {
+ if strings.HasPrefix(refStr, BranchPrefix) {
+ return BranchPrefix, refStr[len(BranchPrefix):]
+ }
+
+ if strings.HasPrefix(refStr, TagPrefix) {
+ return TagPrefix, refStr[len(TagPrefix):]
+ }
+
+ return "", refStr
+}
+
// ParseBool returns the boolean value represented by the string as per git's git_config_bool
// true will be returned for the result if the string is empty, but valid will be false.
// "true", "yes", "on" are all true, true