@@ -129,7 +129,8 @@ remains to be implemented.
129
129
localIgnorePatterns = checkForLocalIgnorePatterns (parentPath , ignoreFilePatterns )
130
130
}
131
131
132
- rootnd , err := addFile (n , addParams {file , outChan , progress , wrap , hidden , localIgnorePatterns })
132
+ addParams := adder {n , outChan , progress , wrap , hidden }
133
+ rootnd , err := addParams .addFile (file , localIgnorePatterns )
133
134
if err != nil {
134
135
res .SetError (err , cmds .ErrNormal )
135
136
return
@@ -235,13 +236,12 @@ remains to be implemented.
235
236
Type : AddedObject {},
236
237
}
237
238
238
- type addParams struct {
239
- file files.File
240
- out chan interface {}
241
- progress bool
242
- wrap bool
243
- hidden bool
244
- ignoreFilePatterns []ignore.GitIgnore
239
+ type adder struct {
240
+ node * core.IpfsNode
241
+ out chan interface {}
242
+ progress bool
243
+ wrap bool
244
+ hidden bool
245
245
}
246
246
247
247
func add (n * core.IpfsNode , reader io.Reader ) (* dag.Node , error ) {
@@ -258,75 +258,75 @@ func add(n *core.IpfsNode, reader io.Reader) (*dag.Node, error) {
258
258
return node , nil
259
259
}
260
260
261
- func addFile ( n * core. IpfsNode , params addParams ) (* dag.Node , error ) {
261
+ func ( params * adder ) addFile ( file files. File , ignoreFilePatterns []ignore. GitIgnore ) (* dag.Node , error ) {
262
262
// Check if file is hidden
263
- if fileIsHidden := files .IsHidden (params . file ); fileIsHidden && ! params .hidden {
264
- log .Debugf ("%s is hidden, skipping" , params . file .FileName ())
265
- return nil , & hiddenFileError {params . file .FileName ()}
263
+ if fileIsHidden := files .IsHidden (file ); fileIsHidden && ! params .hidden {
264
+ log .Debugf ("%s is hidden, skipping" , file .FileName ())
265
+ return nil , & hiddenFileError {file .FileName ()}
266
266
}
267
267
268
268
// Check for ignore files matches
269
- for i := range params . ignoreFilePatterns {
270
- if params . ignoreFilePatterns [i ].MatchesPath (params . file .FileName ()) {
271
- log .Debugf ("%s is ignored file, skipping" , params . file .FileName ())
272
- return nil , & ignoreFileError {params . file .FileName ()}
269
+ for i := range ignoreFilePatterns {
270
+ if ignoreFilePatterns [i ].MatchesPath (file .FileName ()) {
271
+ log .Debugf ("%s is ignored file, skipping" , file .FileName ())
272
+ return nil , & ignoreFileError {file .FileName ()}
273
273
}
274
274
}
275
275
276
276
// Check if "file" is actually a directory
277
- if params . file .IsDirectory () {
278
- return addDir (n , params )
277
+ if file .IsDirectory () {
278
+ return params . addDir (file , ignoreFilePatterns )
279
279
}
280
280
281
281
// if the progress flag was specified, wrap the file so that we can send
282
282
// progress updates to the client (over the output channel)
283
- var reader io.Reader = params . file
283
+ var reader io.Reader = file
284
284
if params .progress {
285
- reader = & progressReader {file : params . file , out : params .out }
285
+ reader = & progressReader {file : file , out : params .out }
286
286
}
287
287
288
288
if params .wrap {
289
- p , dagnode , err := coreunix .AddWrapped (n , reader , path .Base (params . file .FileName ()))
289
+ p , dagnode , err := coreunix .AddWrapped (params . node , reader , path .Base (file .FileName ()))
290
290
if err != nil {
291
291
return nil , err
292
292
}
293
293
params .out <- & AddedObject {
294
294
Hash : p ,
295
- Name : params . file .FileName (),
295
+ Name : file .FileName (),
296
296
}
297
297
return dagnode , nil
298
298
}
299
299
300
- dagnode , err := add (n , reader )
300
+ dagnode , err := add (params . node , reader )
301
301
if err != nil {
302
302
return nil , err
303
303
}
304
304
305
- log .Infof ("adding file: %s" , params . file .FileName ())
306
- if err := outputDagnode (params .out , params . file .FileName (), dagnode ); err != nil {
305
+ log .Infof ("adding file: %s" , file .FileName ())
306
+ if err := outputDagnode (params .out , file .FileName (), dagnode ); err != nil {
307
307
return nil , err
308
308
}
309
309
return dagnode , nil
310
310
}
311
311
312
- func addDir ( n * core. IpfsNode , params addParams ) (* dag.Node , error ) {
312
+ func ( params * adder ) addDir ( file files. File , ignoreFilePatterns []ignore. GitIgnore ) (* dag.Node , error ) {
313
313
314
314
tree := & dag.Node {Data : ft .FolderPBData ()}
315
- log .Infof ("adding directory: %s" , params . file .FileName ())
315
+ log .Infof ("adding directory: %s" , file .FileName ())
316
316
317
317
// Check for an .ipfsignore file that is local to this Dir and append to the incoming
318
- localIgnorePatterns := checkForLocalIgnorePatterns (params . file .FileName (), params . ignoreFilePatterns )
318
+ localIgnorePatterns := checkForLocalIgnorePatterns (file .FileName (), ignoreFilePatterns )
319
319
320
320
for {
321
- file , err := params . file .NextFile ()
321
+ file , err := file .NextFile ()
322
322
if err != nil && err != io .EOF {
323
323
return nil , err
324
324
}
325
325
if file == nil {
326
326
break
327
327
}
328
328
329
- node , err := addFile (n , addParams { file , params . out , params . progress , false , params . hidden , localIgnorePatterns } )
329
+ node , err := params . addFile (file , localIgnorePatterns )
330
330
if _ , ok := err .(* hiddenFileError ); ok {
331
331
// hidden file error, set the node to nil for below
332
332
node = nil
@@ -347,12 +347,12 @@ func addDir(n *core.IpfsNode, params addParams) (*dag.Node, error) {
347
347
}
348
348
}
349
349
350
- err := outputDagnode (params .out , params . file .FileName (), tree )
350
+ err := outputDagnode (params .out , file .FileName (), tree )
351
351
if err != nil {
352
352
return nil , err
353
353
}
354
354
355
- _ , err = n .DAG .Add (tree )
355
+ _ , err = params . node .DAG .Add (tree )
356
356
if err != nil {
357
357
return nil , err
358
358
}
0 commit comments