summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--repository.go30
-rw-r--r--tag.go30
-rw-r--r--tag_test.go4
3 files changed, 32 insertions, 32 deletions
diff --git a/repository.go b/repository.go
index b17745d..62fde6d 100644
--- a/repository.go
+++ b/repository.go
@@ -321,36 +321,6 @@ func (v *Repository) CreateCommit(
return oid, nil
}
-func (v *Repository) CreateTag(
- name string, commit *Commit, tagger *Signature, message string) (*Oid, error) {
-
- oid := new(Oid)
-
- cname := C.CString(name)
- defer C.free(unsafe.Pointer(cname))
-
- cmessage := C.CString(message)
- defer C.free(unsafe.Pointer(cmessage))
-
- taggerSig, err := tagger.toC()
- if err != nil {
- return nil, err
- }
- defer C.git_signature_free(taggerSig)
-
- ctarget := commit.gitObject.ptr
-
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- ret := C.git_tag_create(oid.toC(), v.ptr, cname, ctarget, taggerSig, cmessage, 0)
- if ret < 0 {
- return nil, MakeGitError(ret)
- }
-
- return oid, nil
-}
-
func (v *Odb) Free() {
runtime.SetFinalizer(v, nil)
C.git_odb_free(v.ptr)
diff --git a/tag.go b/tag.go
index 5801c99..ca85156 100644
--- a/tag.go
+++ b/tag.go
@@ -53,6 +53,36 @@ type TagsCollection struct {
repo *Repository
}
+func (c *TagsCollection) Create(
+ name string, commit *Commit, tagger *Signature, message string) (*Oid, error) {
+
+ oid := new(Oid)
+
+ cname := C.CString(name)
+ defer C.free(unsafe.Pointer(cname))
+
+ cmessage := C.CString(message)
+ defer C.free(unsafe.Pointer(cmessage))
+
+ taggerSig, err := tagger.toC()
+ if err != nil {
+ return nil, err
+ }
+ defer C.git_signature_free(taggerSig)
+
+ ctarget := commit.gitObject.ptr
+
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
+ ret := C.git_tag_create(oid.toC(), c.repo.ptr, cname, ctarget, taggerSig, cmessage, 0)
+ if ret < 0 {
+ return nil, MakeGitError(ret)
+ }
+
+ return oid, nil
+}
+
// CreateLightweight creates a new lightweight tag pointing to a commit
// and returns the id of the target object.
//
diff --git a/tag_test.go b/tag_test.go
index 4bf3889..2fdfe00 100644
--- a/tag_test.go
+++ b/tag_test.go
@@ -180,7 +180,7 @@ func createTestTag(t *testing.T, repo *Repository, commit *Commit) *Oid {
When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
}
- tagId, err := repo.CreateTag("v0.0.0", commit, sig, "This is a tag")
+ tagId, err := repo.Tags.Create("v0.0.0", commit, sig, "This is a tag")
checkFatal(t, err)
return tagId
}
@@ -194,7 +194,7 @@ func createTag(t *testing.T, repo *Repository, commit *Commit, name, message str
When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
}
- tagId, err := repo.CreateTag(name, commit, sig, message)
+ tagId, err := repo.Tags.Create(name, commit, sig, message)
checkFatal(t, err)
return tagId
}