Skip to content

Commit 5cb34ee

Browse files
committed
Clean-up based on PR #1204 feedback
#1204 [ reworded to conform to commit msg guidelines ]
1 parent 500e756 commit 5cb34ee

File tree

1 file changed

+38
-35
lines changed

1 file changed

+38
-35
lines changed

core/commands/add.go

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package commands
33
import (
44
"fmt"
55
"io"
6-
"os"
76
"path"
87
"strings"
98

@@ -98,8 +97,8 @@ remains to be implemented.
9897

9998
var ignoreFilePatterns []ignore.GitIgnore
10099

101-
// Check the $IPFS_PATH
102-
if ipfs_path := os.Getenv("$IPFS_PATH"); len(ipfs_path) > 0 {
100+
// Check the IPFS_PATH
101+
if ipfs_path := req.Context().ConfigRoot; len(ipfs_path) > 0 {
103102
baseFilePattern, err := ignore.CompileIgnoreFile(path.Join(ipfs_path, ".ipfsignore"))
104103
if err == nil && baseFilePattern != nil {
105104
ignoreFilePatterns = append(ignoreFilePatterns, *baseFilePattern)
@@ -130,7 +129,7 @@ remains to be implemented.
130129
localIgnorePatterns = checkForLocalIgnorePatterns(parentPath, ignoreFilePatterns)
131130
}
132131

133-
rootnd, err := addFile(n, file, outChan, progress, wrap, hidden, localIgnorePatterns)
132+
rootnd, err := addFile(n, addParams{file, outChan, progress, wrap, hidden, localIgnorePatterns})
134133
if err != nil {
135134
res.SetError(err, cmds.ErrNormal)
136135
return
@@ -236,6 +235,15 @@ remains to be implemented.
236235
Type: AddedObject{},
237236
}
238237

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
245+
}
246+
239247
func add(n *core.IpfsNode, reader io.Reader) (*dag.Node, error) {
240248
node, err := importer.BuildDagFromReader(reader, n.DAG, nil, chunk.DefaultSplitter)
241249
if err != nil {
@@ -250,41 +258,41 @@ func add(n *core.IpfsNode, reader io.Reader) (*dag.Node, error) {
250258
return node, nil
251259
}
252260

253-
func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress bool, wrap bool, hidden bool, ignoreFilePatterns []ignore.GitIgnore) (*dag.Node, error) {
261+
func addFile(n *core.IpfsNode, params addParams) (*dag.Node, error) {
254262
// Check if file is hidden
255-
if fileIsHidden := files.IsHidden(file); fileIsHidden && !hidden {
256-
log.Debugf("%s is hidden, skipping", file.FileName())
257-
return nil, &hiddenFileError{file.FileName()}
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()}
258266
}
259267

260268
// Check for ignore files matches
261-
for i := range ignoreFilePatterns {
262-
if ignoreFilePatterns[i].MatchesPath(file.FileName()) {
263-
log.Debugf("%s is ignored file, skipping", file.FileName())
264-
return nil, &ignoreFileError{file.FileName()}
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()}
265273
}
266274
}
267275

268276
// Check if "file" is actually a directory
269-
if file.IsDirectory() {
270-
return addDir(n, file, out, progress, hidden, ignoreFilePatterns)
277+
if params.file.IsDirectory() {
278+
return addDir(n, params)
271279
}
272280

273281
// if the progress flag was specified, wrap the file so that we can send
274282
// progress updates to the client (over the output channel)
275-
var reader io.Reader = file
276-
if progress {
277-
reader = &progressReader{file: file, out: out}
283+
var reader io.Reader = params.file
284+
if params.progress {
285+
reader = &progressReader{file: params.file, out: params.out}
278286
}
279287

280-
if wrap {
281-
p, dagnode, err := coreunix.AddWrapped(n, reader, path.Base(file.FileName()))
288+
if params.wrap {
289+
p, dagnode, err := coreunix.AddWrapped(n, reader, path.Base(params.file.FileName()))
282290
if err != nil {
283291
return nil, err
284292
}
285-
out <- &AddedObject{
293+
params.out <- &AddedObject{
286294
Hash: p,
287-
Name: file.FileName(),
295+
Name: params.file.FileName(),
288296
}
289297
return dagnode, nil
290298
}
@@ -294,31 +302,31 @@ func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress b
294302
return nil, err
295303
}
296304

297-
log.Infof("adding file: %s", file.FileName())
298-
if err := outputDagnode(out, file.FileName(), dagnode); err != nil {
305+
log.Infof("adding file: %s", params.file.FileName())
306+
if err := outputDagnode(params.out, params.file.FileName(), dagnode); err != nil {
299307
return nil, err
300308
}
301309
return dagnode, nil
302310
}
303311

304-
func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress bool, hidden bool, ignoreFilePatterns []ignore.GitIgnore) (*dag.Node, error) {
312+
func addDir(n *core.IpfsNode, params addParams) (*dag.Node, error) {
305313

306314
tree := &dag.Node{Data: ft.FolderPBData()}
307-
log.Infof("adding directory: %s", dir.FileName())
315+
log.Infof("adding directory: %s", params.file.FileName())
308316

309317
// Check for an .ipfsignore file that is local to this Dir and append to the incoming
310-
localIgnorePatterns := checkForLocalIgnorePatterns(dir.FileName(), ignoreFilePatterns)
318+
localIgnorePatterns := checkForLocalIgnorePatterns(params.file.FileName(), params.ignoreFilePatterns)
311319

312320
for {
313-
file, err := dir.NextFile()
321+
file, err := params.file.NextFile()
314322
if err != nil && err != io.EOF {
315323
return nil, err
316324
}
317325
if file == nil {
318326
break
319327
}
320328

321-
node, err := addFile(n, file, out, progress, false, hidden, localIgnorePatterns)
329+
node, err := addFile(n, addParams{file, params.out, params.progress, false, params.hidden, localIgnorePatterns})
322330
if _, ok := err.(*hiddenFileError); ok {
323331
// hidden file error, set the node to nil for below
324332
node = nil
@@ -339,7 +347,7 @@ func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress boo
339347
}
340348
}
341349

342-
err := outputDagnode(out, dir.FileName(), tree)
350+
err := outputDagnode(params.out, params.file.FileName(), tree)
343351
if err != nil {
344352
return nil, err
345353
}
@@ -353,12 +361,7 @@ func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress boo
353361
}
354362

355363
func checkForLocalIgnorePatterns(dir string, ignoreFilePatterns []ignore.GitIgnore) []ignore.GitIgnore {
356-
var ignorePathname string
357-
if dir == "." {
358-
ignorePathname = ".ipfsignore"
359-
} else {
360-
ignorePathname = path.Join(dir, ".ipfsignore")
361-
}
364+
ignorePathname := path.Join(dir, ".ipfsignore")
362365

363366
localIgnore, ignoreErr := ignore.CompileIgnoreFile(ignorePathname)
364367
if ignoreErr == nil && localIgnore != nil {

0 commit comments

Comments
 (0)