Skip to content

Commit

Permalink
Move CreateTag to the tags collection
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosmn committed Jul 31, 2015
1 parent 6c4af98 commit def4494
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 32 deletions.
30 changes: 0 additions & 30 deletions repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
30 changes: 30 additions & 0 deletions tag.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
//
Expand Down
4 changes: 2 additions & 2 deletions tag_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
}

0 comments on commit def4494

Please sign in to comment.