FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
nodegit/examples/index-add-and-remove.js at master · rutsky/nodegit · GitHub
rutsky
nodegit
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
nodegit
/
examples
/
index-add-and-remove.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
134 lines (115 loc) · 3.77 KB
Breadcrumbs
nodegit
/
examples
/
index-add-and-remove.js
Copy path
File metadata and controls
134 lines (115 loc) · 3.77 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
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
125
126
127
128
129
130
131
132
133
134
var
nodegit
=
require
(
"../"
)
;
var
path
=
require
(
"path"
)
;
var
Promise
=
require
(
"nodegit-promise"
)
;
var
promisify
=
require
(
"promisify-node"
)
;
var
fse
=
promisify
(
require
(
"fs-extra"
)
)
;
nodegit
.
Repository
.
open
(
path
.
resolve
(
__dirname
,
"../.git"
)
)
.
then
(
function
(
repo
)
{
return
repo
.
openIndex
(
)
.
then
(
function
(
index
)
{
var
fileContent
=
{
newFile1
:
"this has some content"
,
newFile2
:
"and this will have more content"
}
;
var
fileNames
=
Object
.
keys
(
fileContent
)
;
return
Promise
.
all
(
fileNames
.
map
(
function
(
fileName
)
{
fse
.
writeFile
(
path
.
join
(
repo
.
workdir
(
)
,
fileName
)
,
fileContent
[
fileName
]
)
;
}
)
)
// This will add all files to the index
.
then
(
function
(
)
{
return
index
.
addAll
(
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"\n-------------------\n"
+
"Added files: "
+
"\n-------------------\n"
)
;
newFiles
.
forEach
(
function
(
entry
)
{
console
.
log
(
entry
.
path
)
;
}
)
;
}
)
.
then
(
function
(
)
{
// This will remove the files from the index
return
index
.
removeAll
(
"newFile*"
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"New files in index: "
+
newFiles
.
length
)
;
}
)
// We can also provide a pattern to add files to the index
.
then
(
function
(
)
{
return
index
.
addAll
(
"newFile*"
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"\n-------------------\n"
+
"Added files with pattern: "
+
"\n-------------------\n"
)
;
newFiles
.
forEach
(
function
(
entry
)
{
console
.
log
(
entry
.
path
)
;
}
)
;
}
)
.
then
(
function
(
)
{
// We're also using the pattern in the remove
return
index
.
removeAll
(
"newFile*"
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"New files in index: "
+
newFiles
.
length
)
;
}
)
// Callbacks can be used for a finer degree of control over what
// we add to the index
.
then
(
function
(
)
{
return
index
.
addAll
(
"newFile*"
,
nodegit
.
Index
.
ADD_OPTION
.
ADD_CHECK_PATHSPEC
,
function
(
path
,
matchedPattern
)
{
if
(
path
==
"newFile1"
)
{
return
0
;
// add the file
}
return
1
;
// skip the file
}
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"\n-------------------\n"
+
"Added files with callback: "
+
"\n-------------------\n"
)
;
newFiles
.
forEach
(
function
(
entry
)
{
console
.
log
(
entry
.
path
)
;
}
)
;
}
)
.
then
(
function
(
)
{
// Lets use a callback in the remove as well
return
index
.
removeAll
(
null
,
function
(
path
)
{
if
(
~
path
.
indexOf
(
"newFile"
)
)
{
return
0
;
// remove the file
}
return
1
;
// don't remove the file
}
)
;
}
)
.
then
(
function
(
)
{
var
newFiles
=
index
.
entries
(
)
.
filter
(
function
(
entry
)
{
return
~
fileNames
.
indexOf
(
entry
.
path
)
;
}
)
;
console
.
log
(
"Total: "
+
index
.
entries
(
)
.
length
)
;
console
.
log
(
"New files in index: "
+
newFiles
.
length
)
;
}
)
;
}
)
;
}
)
.
done
(
function
(
)
{
console
.
log
(
"All done!"
)
;
}
)
;
Back
|
FazBrowse Home
|
New Git URL