FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
nodegit/example/push.js at v0.2.3 · nodegit/nodegit · GitHub
nodegit
nodegit
Repository navigation
Code
Issues
344
(344)
Pull requests
21
(21)
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
nodegit
/
example
/
push.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
77 lines (65 loc) · 2.17 KB
Breadcrumbs
nodegit
/
example
/
push.js
Copy path
File metadata and controls
77 lines (65 loc) · 2.17 KB
Raw
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
var
nodegit
=
require
(
'../'
)
;
var
path
=
require
(
'path'
)
;
var
Promise
=
require
(
'nodegit-promise'
)
;
var
promisify
=
require
(
'promisify-node'
)
;
var
fse
=
promisify
(
require
(
'fs-extra'
)
)
;
fse
.
ensureDir
=
promisify
(
fse
.
ensureDir
)
;
var
fileName
=
'newFile.txt'
;
var
fileContent
=
'hello world'
;
var
repoDir
=
'../../newRepo'
;
var
repository
;
var
signature
=
nodegit
.
Signature
.
create
(
"Foo bar"
,
"foo@bar.com"
,
123456789
,
60
)
;
// Create a new repository in a clean directory, and add our first file
fse
.
remove
(
path
.
resolve
(
__dirname
,
repoDir
)
)
.
then
(
function
(
)
{
return
fse
.
ensureDir
(
path
.
resolve
(
__dirname
,
repoDir
)
)
;
}
)
.
then
(
function
(
)
{
return
nodegit
.
Repository
.
init
(
path
.
resolve
(
__dirname
,
repoDir
)
,
0
)
;
}
)
.
then
(
function
(
repo
)
{
repository
=
repo
;
return
fse
.
writeFile
(
path
.
join
(
repository
.
workdir
(
)
,
fileName
)
,
fileContent
)
;
}
)
// Load up the repository index and make our initial commit to HEAD
.
then
(
function
(
)
{
return
repository
.
openIndex
(
)
;
}
)
.
then
(
function
(
index
)
{
index
.
read
(
1
)
;
index
.
addByPath
(
fileName
)
;
index
.
write
(
)
return
index
.
writeTree
(
)
;
}
)
.
then
(
function
(
oid
)
{
return
repository
.
createCommit
(
'HEAD'
,
signature
,
signature
,
'initial commit'
,
oid
,
[
]
)
;
}
)
// Add a new remote
.
then
(
function
(
)
{
return
nodegit
.
Remote
.
create
(
repository
,
"origin"
,
"git@github.com:nodegit/push-example.git"
)
.
then
(
function
(
remote
)
{
remote
.
connect
(
nodegit
.
Enums
.
DIRECTION
.
PUSH
)
;
var
push
;
// We need to set the auth on the remote, not the push object
remote
.
setCallbacks
(
{
credentials
:
function
(
url
,
userName
)
{
return
nodegit
.
Cred
.
sshKeyFromAgent
(
userName
)
;
}
}
)
;
// Create the push object for this remote
return
nodegit
.
Push
.
create
(
remote
)
.
then
(
function
(
pushResult
)
{
push
=
pushResult
;
// This just says what branch we're pushing onto what branch in the remote
return
push
.
addRefspec
(
"refs/heads/master:refs/heads/master"
)
;
}
)
.
then
(
function
(
)
{
// This is the call that performs the actual push
return
push
.
finish
(
)
;
}
)
.
then
(
function
(
)
{
// Check to see if the remote accepted our push request.
return
push
.
unpackOk
(
)
;
}
)
;
}
)
;
}
)
.
done
(
function
(
)
{
console
.
log
(
"Done!"
)
;
}
)
Back
|
FazBrowse Home
|
New Git URL