Merge pull request #2 from carlosmn/signature

Introduce Signature
This commit is contained in:
Vicent Martí 2013-03-05 14:25:49 -08:00
commit 2885e3fe0c
1 changed files with 26 additions and 5 deletions

View File

@ -9,6 +9,7 @@ extern int _go_git_treewalk(git_tree *tree, git_treewalk_mode mode, void *ptr);
import "C"
import (
"time"
)
// Commit
@ -38,15 +39,35 @@ func (c *Commit) TreeId() *Oid {
return newOidFromC(C.git_commit_tree_id(c.ptr))
}
/* TODO */
/*
func (c *Commit) Author() *Signature {
ptr := C.git_commit_author(c.ptr)
return &Signature{ptr}
return newSignatureFromC(ptr)
}
func (c *Commit) Committer() *Signature {
ptr := C.git_commit_committer(c.ptr)
return &Signature{ptr}
return newSignatureFromC(ptr)
}
// Signature
type Signature struct {
Name string
Email string
UnixTime int64
Offset int
}
func newSignatureFromC(sig *C.git_signature) *Signature {
return &Signature{
C.GoString(sig.name),
C.GoString(sig.email),
int64(sig.when.time),
int(sig.when.offset),
}
}
func (sig *Signature) Time() time.Time {
loc := time.FixedZone("", sig.Offset*60)
return time.Unix(sig.UnixTime, 0).In(loc)
}
*/