Move CreateTag to the tags collection
This commit is contained in:
parent
6c4af98c5b
commit
def4494b74
|
@ -321,36 +321,6 @@ func (v *Repository) CreateCommit(
|
||||||
return oid, nil
|
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() {
|
func (v *Odb) Free() {
|
||||||
runtime.SetFinalizer(v, nil)
|
runtime.SetFinalizer(v, nil)
|
||||||
C.git_odb_free(v.ptr)
|
C.git_odb_free(v.ptr)
|
||||||
|
|
30
tag.go
30
tag.go
|
@ -53,6 +53,36 @@ type TagsCollection struct {
|
||||||
repo *Repository
|
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
|
// CreateLightweight creates a new lightweight tag pointing to a commit
|
||||||
// and returns the id of the target object.
|
// and returns the id of the target object.
|
||||||
//
|
//
|
||||||
|
|
|
@ -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),
|
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)
|
checkFatal(t, err)
|
||||||
return tagId
|
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),
|
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)
|
checkFatal(t, err)
|
||||||
return tagId
|
return tagId
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue