| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,10 +7,13 @@ git.repo( '../.git', function( err, repo ) { | |||
| 7 | 7 | if( err ) { throw err; } | |
| 8 | 8 | ||
| 9 | 9 | branch.tree().each( function( i, entry ) { | |
| 10 | - | ||
| 11 | 10 | console.log( entry.name ); | |
| 12 | - console.log( entry.content ); | ||
| 13 | 11 | ||
| 12 | + console.log( entry.contents ); | ||
| 13 | + | ||
| 14 | + var blob = git.blob( repo.repo ); | ||
| 15 | + entry.entry.toObject( blob.blob ); | ||
| 16 | + console.log( blob.blob.rawContent() ); | ||
| 14 | 17 | }); | |
| 15 | 18 | }); | |
| 16 | 19 | }); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -7,7 +7,7 @@ var _Blob = function( obj ) { | |||
| 7 | 7 | self.repo = obj; | |
| 8 | 8 | self.blob = new git.raw.Blob( obj ); | |
| 9 | 9 | } | |
| 10 | - else if ( obj instanceof git.raw.Blob ) { | ||
| 10 | + else if( obj instanceof git.raw.Blob ) { | ||
| 11 | 11 | self.blob = obj; | |
| 12 | 12 | } | |
| 13 | 13 | ||
@@ -18,7 +18,6 @@ var _Blob = function( obj ) { | |||
| 18 | 18 | enumerable: true | |
| 19 | 19 | }); | |
| 20 | 20 | ||
| 21 | - | ||
| 22 | 21 | self.lookup = function( oid ) { | |
| 23 | 22 | self.blob.lookup( self.repo, oid, function() { | |
| 24 | 23 | var args = Array.prototype.slice.call( arguments ); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,7 +1,7 @@ | |||
| 1 | 1 | var git = require( '../' ); | |
| 2 | 2 | ||
| 3 | 3 | var _Commit = function( obj ) { | |
| 4 | - var self = {}; | ||
| 4 | + var self = { _cache: {} }; | ||
| 5 | 5 | ||
| 6 | 6 | if( obj instanceof git.raw.Repo ) { | |
| 7 | 7 | self.repo = obj; | |
@@ -36,7 +36,6 @@ var _Commit = function( obj ) { | |||
| 36 | 36 | enumerable: true | |
| 37 | 37 | }); | |
| 38 | 38 | ||
| 39 | - | ||
| 40 | 39 | Object.defineProperty( self, 'msg', { | |
| 41 | 40 | get: function() { | |
| 42 | 41 | return self.commit.messageShort(); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,7 +4,7 @@ var util = require( './util.js' ).util, | |||
| 4 | 4 | error = require( './error.js' ).error, | |
| 5 | 5 | sig = require( './sig.js' ).sig, | |
| 6 | 6 | oid = require( './oid.js' ).oid, | |
| 7 | - oid = require( './obj.js' ).obj, | ||
| 7 | + obj = require( './obj.js' ).obj, | ||
| 8 | 8 | ref = require( './ref.js' ).ref, | |
| 9 | 9 | revwalk = require( './revwalk.js' ).revwalk, | |
| 10 | 10 | commit = require( './commit.js' ).commit, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,6 +3,13 @@ var git = require( '../' ); | |||
| 3 | 3 | var _TreeEntry = function( obj ) { | |
| 4 | 4 | var self = {}; | |
| 5 | 5 | ||
| 6 | + if( obj instanceof git.raw.TreeEntry ) { | ||
| 7 | + self.entry = obj; | ||
| 8 | + } | ||
| 9 | + else { | ||
| 10 | + self.entry = new git.raw.TreeEntry(); | ||
| 11 | + } | ||
| 12 | + | ||
| 6 | 13 | Object.defineProperty( self, 'name', { | |
| 7 | 14 | get: function() { | |
| 8 | 15 | return self.entry.name(); | |
@@ -12,27 +19,15 @@ var _TreeEntry = function( obj ) { | |||
| 12 | 19 | ||
| 13 | 20 | Object.defineProperty( self, 'content', { | |
| 14 | 21 | get: function() { | |
| 15 | - var obj = git.obj(), | ||
| 16 | - blob; | ||
| 17 | - | ||
| 18 | - self.entry.toObject( obj.obj ); | ||
| 22 | + var blob = git.blob( self.repo ); | ||
| 19 | 23 | ||
| 20 | - blob = git.blob( obj.owner() ); | ||
| 21 | - blob.lookup( oid.oid ); | ||
| 24 | + self.entry.toObject( blob.blob ); | ||
| 22 | 25 | ||
| 23 | - return blob.content(); | ||
| 26 | + return blob.raw; | ||
| 24 | 27 | }, | |
| 25 | 28 | enumerable: true | |
| 26 | 29 | }); | |
| 27 | 30 | ||
| 28 | - // Internal references to Git references | ||
| 29 | - if ( obj instanceof git.raw.TreeEntry ) { | ||
| 30 | - self.entry = obj; | ||
| 31 | - } | ||
| 32 | - else { | ||
| 33 | - self.entry = new git.raw.TreeEntry(); | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | 31 | return self; | |
| 37 | 32 | }; | |
| 38 | 33 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -74,7 +74,7 @@ Handle<Value> Blob::New(const Arguments& args) { | |||
| 74 | 74 | Handle<Value> Blob::RawContent(const Arguments& args) { | |
| 75 | 75 | HandleScope scope; | |
| 76 | 76 | ||
| 77 | - Blob *blob = new Blob(); | ||
| 77 | + Blob *blob = ObjectWrap::Unwrap<Blob>(args.This()); | ||
| 78 | 78 | ||
| 79 | 79 | return String::New(blob->RawContent()); | |
| 80 | 80 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,8 +9,10 @@ Copyright (c) 2011, Tim Branyen @tbranyen <tim@tabdeveloper.com> | |||
| 9 | 9 | #include "../vendor/libgit2/src/git2.h" | |
| 10 | 10 | ||
| 11 | 11 | #include "repo.h" | |
| 12 | + #include "blob.h" | ||
| 12 | 13 | #include "tree.h" | |
| 13 | 14 | #include "object.h" | |
| 15 | + #include "oid.h" | ||
| 14 | 16 | #include "tree_entry.h" | |
| 15 | 17 | ||
| 16 | 18 | using namespace v8; | |
@@ -37,8 +39,12 @@ const char* GitTreeEntry::Name() { | |||
| 37 | 39 | return git_tree_entry_name(this->entry); | |
| 38 | 40 | } | |
| 39 | 41 | ||
| 42 | + const git_oid* GitTreeEntry::Id() { | ||
| 43 | + return git_tree_entry_id(this->entry); | ||
| 44 | + } | ||
| 45 | + | ||
| 40 | 46 | int GitTreeEntry::ToObject(git_object** obj) { | |
| 41 | - return git_tree_entry_2object(obj, entry); | ||
| 47 | + return git_tree_entry_2object(obj, this->entry); | ||
| 42 | 48 | } | |
| 43 | 49 | ||
| 44 | 50 | Handle<Value> GitTreeEntry::New(const Arguments& args) { | |
@@ -59,20 +65,36 @@ Handle<Value> GitTreeEntry::Name(const Arguments& args) { | |||
| 59 | 65 | return String::New(entry->Name()); | |
| 60 | 66 | } | |
| 61 | 67 | ||
| 68 | + Handle<Value> GitTreeEntry::Id(const Arguments& args) { | ||
| 69 | + HandleScope scope; | ||
| 70 | + | ||
| 71 | + GitTreeEntry *entry = ObjectWrap::Unwrap<GitTreeEntry>(args.This()); | ||
| 72 | + | ||
| 73 | + if(args.Length() == 0 || !args[0]->IsObject()) { | ||
| 74 | + return ThrowException(Exception::Error(String::New("Oid is required and must be an Object."))); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + Oid* oid = ObjectWrap::Unwrap<Oid>(args[0]->ToObject()); | ||
| 78 | + | ||
| 79 | + oid->SetValue(const_cast<git_oid *>(entry->Id())); | ||
| 80 | + | ||
| 81 | + return Undefined(); | ||
| 82 | + } | ||
| 83 | + | ||
| 62 | 84 | Handle<Value> GitTreeEntry::ToObject(const Arguments& args) { | |
| 63 | 85 | HandleScope scope; | |
| 64 | 86 | ||
| 65 | 87 | GitTreeEntry *entry = ObjectWrap::Unwrap<GitTreeEntry>(args.This()); | |
| 66 | 88 | ||
| 67 | 89 | if(args.Length() == 0 || !args[0]->IsObject()) { | |
| 68 | - return ThrowException(Exception::Error(String::New("Object is required and must be an Object."))); | ||
| 90 | + return ThrowException(Exception::Error(String::New("Blob is required and must be an Object."))); | ||
| 69 | 91 | } | |
| 70 | 92 | ||
| 71 | - GitObject*obj = ObjectWrap::Unwrap<GitObject>(args[0]->ToObject()); | ||
| 93 | + Blob* blob = ObjectWrap::Unwrap<Blob>(args[0]->ToObject()); | ||
| 72 | 94 | ||
| 73 | 95 | git_object* out; | |
| 74 | 96 | entry->ToObject(&out); | |
| 75 | - obj->SetValue(out); | ||
| 97 | + blob->SetValue((git_blob *)out); | ||
| 76 | 98 | ||
| 77 | 99 | return Undefined(); | |
| 78 | 100 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,6 +13,7 @@ Copyright (c) 2011, Tim Branyen @tbranyen <tim@tabdeveloper.com> | |||
| 13 | 13 | ||
| 14 | 14 | #include "repo.h" | |
| 15 | 15 | #include "tree.h" | |
| 16 | + #include "oid.h" | ||
| 16 | 17 | #include "object.h" | |
| 17 | 18 | ||
| 18 | 19 | using namespace v8; | |
@@ -49,11 +50,13 @@ class GitTreeEntry : EventEmitter { | |||
| 49 | 50 | */ | |
| 50 | 51 | void SetValue(git_tree_entry* tree); | |
| 51 | 52 | const char* Name(); | |
| 53 | + const git_oid* Id(); | ||
| 52 | 54 | int ToObject(git_object** obj); | |
| 53 | 55 | ||
| 54 | 56 | protected: | |
| 55 | 57 | static Handle<Value> New(const Arguments& args); | |
| 56 | 58 | static Handle<Value> Name(const Arguments& args); | |
| 59 | + static Handle<Value> Id(const Arguments& args); | ||
| 57 | 60 | static Handle<Value> ToObject(const Arguments& args); | |
| 58 | 61 | ||
| 59 | 62 | private: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments