Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
executable file
·
124 lines (98 loc) · 2.99 KB

File metadata and controls

executable file
·
124 lines (98 loc) · 2.99 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
* Copyright 2011, Tim Branyen @tbranyen <tim@tabdeveloper.com>
* @author Michael Robinson @codeofinterest <mike@pagesofinterest.net>
*
* Dual licensed under the MIT and GPL licenses.
*/
#include <v8.h>
#include <node.h>
#include <vector>
#include "../vendor/libgit2/include/git2.h"
#include "reference.h"
#include "repo.h"
#include "oid.h"
#include "tree.h"
using namespace node;
using namespace v8;
/**
* Class wrapper for libgit2 git_commit
*/
class GitCommit : public ObjectWrap {
public:
/**
* v8::FunctionTemplate used to create Node.js constructor
*/
static Persistent<Function> constructor_template;
/**
* Used to intialize the EventEmitter from Node.js
*
* @param target v8::Object the Node.js module object
*/
static void Initialize (Handle<v8::Object> target);
git_commit* GetValue();
void SetValue(git_commit* commit);
void Close();
int Tree(git_tree** tree);
protected:
GitCommit() {}
~GitCommit() {}
static Handle<Value> New(const Arguments& args);
static Handle<Value> FetchDetailsSync(const Arguments& args);
static Handle<Value> FetchDetails(const Arguments& args);
static void FetchDetailsWork(uv_work_t *req);
static void FetchDetailsAfterWork(uv_work_t *req);
static Handle<Value> Lookup(const Arguments& args);
static void LookupWork(uv_work_t *req);
static void LookupAfterWork(uv_work_t *req);
static Handle<Value> Close(const Arguments& args);
static Handle<Value> Tree(const Arguments& args);
static void TreeWork(uv_work_t* req);
static void TreeAfterWork(uv_work_t* req);
static Handle<Value> ParentSync(const Arguments& args);
static Handle<Value> Parent(const Arguments& args);
static void ParentWork(uv_work_t* req);
static void ParentAfterWork(uv_work_t* req);
private:
git_commit* commit;
git_oid* oid;
struct LookupBaton {
uv_work_t request;
const git_error* error;
git_repository* repo;
git_oid oid;
std::string sha;
git_commit* rawCommit;
Persistent<Function> callback;
};
/**
* Struct containing details for a commit.
*/
struct FetchDetailsBaton {
uv_work_t request;
const git_error* error;
git_commit* rawCommit;
const git_oid *oid;
char sha[GIT_OID_HEXSZ + 1];
const char* message;
time_t time;
int timeOffset;
const git_signature* committer;
const git_signature* author;
unsigned int parentCount;
std::vector<std::string> parentShas;
Persistent<Function> callback;
};
/**
* Contains references to the current commit, parent commit (output)
* parent commit's index, also contains references to an error code post
* lookup, and a callback function to execute.
*/
struct ParentBaton {
uv_work_t request;
const git_error* error;
int index;
GitCommit* commit;
git_commit* rawParentCommit;
Persistent<Function> callback;
};
};
Morty Proxy This is a proxified and sanitized view of the page, visit original site.