Beispiel #1
0
 internal unsafe static Signature FromNative(git_signature *nativeSignature)
 {
     return(new Signature()
     {
         Name = Utf8Converter.FromNative(nativeSignature->name),
         Email = Utf8Converter.FromNative(nativeSignature->email),
         When = DateTimeOffset.FromUnixTimeSeconds(nativeSignature->when.time).ToOffset(TimeSpan.FromMinutes(nativeSignature->when.offset))
     });
 }
Beispiel #2
0
 private unsafe Commit(git_commit *nativeCommit, ObjectId id) :
     base((git_object *)nativeCommit, id)
 {
     author = new LazyNative <Signature>(() => {
         git_signature *author = libgit2.git_commit_author(NativeCommit);
         return(Signature.FromNative(author));
     }, this);
     committer = new LazyNative <Signature>(() => {
         git_signature *signature = libgit2.git_commit_committer(NativeCommit);
         return(Signature.FromNative(signature));
     }, this);
     treeId = new LazyNative <ObjectId>(() => {
         git_oid *oid = libgit2.git_commit_tree_id(NativeCommit);
         Ensure.NativePointerNotNull(oid);
         return(ObjectId.FromNative(*oid));
     }, this);
 }
Beispiel #3
0
 internal unsafe Signature(git_signature *sig)
 {
     name  = LaxUtf8Marshaler.FromNative(sig->name);
     email = LaxUtf8Marshaler.FromNative(sig->email);
     when  = DateTimeOffset.FromUnixTimeSeconds(sig->when.time).ToOffset(TimeSpan.FromMinutes(sig->when.offset));
 }
Beispiel #4
0
 internal SignatureHandle(git_signature *ptr, bool owned)
     : base((void *)ptr, owned)
 {
 }
Beispiel #5
0
 internal unsafe Signature(git_signature *sig)
 {
     name  = LaxUtf8Marshaler.FromNative(sig->name);
     email = LaxUtf8Marshaler.FromNative(sig->email);
     when  = Epoch.ToDateTimeOffset(sig->when.time, sig->when.offset);
 }