aboutsummaryrefslogtreecommitdiffstats
path: root/core/reference.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/reference.go')
-rw-r--r--core/reference.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/reference.go b/core/reference.go
index 4be4971..7d3f378 100644
--- a/core/reference.go
+++ b/core/reference.go
@@ -34,6 +34,20 @@ const (
// ReferenceName reference name's
type ReferenceName string
+// AsRemote returns a new remote reference name using current one as base
+func (r ReferenceName) AsRemote(remote string) ReferenceName {
+ return ReferenceName(refRemotePrefix + remote + "/" + r.alias())
+}
+
+func (r ReferenceName) String() string {
+ return string(r)
+}
+
+func (r ReferenceName) alias() string {
+ parts := strings.Split(string(r), "/")
+ return parts[len(parts)-1]
+}
+
const (
HEAD ReferenceName = "HEAD"
)