mirror of
https://github.com/ipfs/kubo.git
synced 2025-05-17 23:16:11 +08:00
coreapi: remove hidden file handling in add
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
|
||||
"github.com/ipfs/go-ipfs/core/commands/cmdenv"
|
||||
@ -12,7 +13,8 @@ import (
|
||||
cmdkit "github.com/ipfs/go-ipfs-cmdkit"
|
||||
cmds "github.com/ipfs/go-ipfs-cmds"
|
||||
coreiface "github.com/ipfs/interface-go-ipfs-core"
|
||||
options "github.com/ipfs/interface-go-ipfs-core/options"
|
||||
"github.com/ipfs/interface-go-ipfs-core/options"
|
||||
"github.com/ipfs/go-ipfs-files"
|
||||
mh "github.com/multiformats/go-multihash"
|
||||
pb "gopkg.in/cheggaaa/pb.v1"
|
||||
)
|
||||
@ -160,7 +162,7 @@ You can now check what blocks have been created by:
|
||||
trickle, _ := req.Options[trickleOptionName].(bool)
|
||||
wrap, _ := req.Options[wrapOptionName].(bool)
|
||||
hash, _ := req.Options[onlyHashOptionName].(bool)
|
||||
hidden, _ := req.Options[hiddenOptionName].(bool)
|
||||
//hidden, _ := req.Options[hiddenOptionName].(bool)
|
||||
silent, _ := req.Options[silentOptionName].(bool)
|
||||
chunker, _ := req.Options[chunkerOptionName].(string)
|
||||
dopin, _ := req.Options[pinOptionName].(bool)
|
||||
@ -186,7 +188,7 @@ You can now check what blocks have been created by:
|
||||
events := make(chan interface{}, adderOutChanSize)
|
||||
|
||||
var toadd files.Node = req.Files
|
||||
addName := ""
|
||||
name := ""
|
||||
if !wrap {
|
||||
it := req.Files.Entries()
|
||||
if !it.Next() {
|
||||
@ -197,8 +199,12 @@ You can now check what blocks have been created by:
|
||||
return err
|
||||
}
|
||||
|
||||
addName = it.Name()
|
||||
toadd = it.Node()
|
||||
name = it.Name()
|
||||
}
|
||||
_, dir := toadd.(files.Directory)
|
||||
if !dir && pathName != "" {
|
||||
name = pathName
|
||||
}
|
||||
|
||||
opts := []options.UnixfsAddOption{
|
||||
@ -214,13 +220,11 @@ You can now check what blocks have been created by:
|
||||
options.Unixfs.FsCache(fscache),
|
||||
options.Unixfs.Nocopy(nocopy),
|
||||
|
||||
options.Unixfs.Hidden(hidden),
|
||||
options.Unixfs.StdinName(pathName),
|
||||
|
||||
options.Unixfs.Progress(progress),
|
||||
options.Unixfs.Silent(silent),
|
||||
options.Unixfs.Events(events),
|
||||
options.Unixfs.BaseName(addName),
|
||||
}
|
||||
|
||||
if cidVerSet {
|
||||
@ -254,6 +258,12 @@ You can now check what blocks have been created by:
|
||||
h = enc.Encode(output.Path.Cid())
|
||||
}
|
||||
|
||||
if !dir && name != "" {
|
||||
output.Name = name
|
||||
} else {
|
||||
output.Name = path.Join(name, output.Name)
|
||||
}
|
||||
|
||||
res.Emit(&AddEvent{
|
||||
Name: output.Name,
|
||||
Hash: h,
|
||||
|
@ -87,16 +87,13 @@ func (api *UnixfsAPI) Add(ctx context.Context, files files.Node, opts ...options
|
||||
fileAdder.Out = settings.Events
|
||||
fileAdder.Progress = settings.Progress
|
||||
}
|
||||
fileAdder.Hidden = settings.Hidden
|
||||
fileAdder.Wrap = settings.Wrap
|
||||
fileAdder.Pin = settings.Pin && !settings.OnlyHash
|
||||
fileAdder.Silent = settings.Silent
|
||||
fileAdder.RawLeaves = settings.RawLeaves
|
||||
fileAdder.NoCopy = settings.NoCopy
|
||||
fileAdder.Name = settings.StdinName
|
||||
fileAdder.BaseName = settings.BaseName
|
||||
fileAdder.CidBuilder = prefix
|
||||
fileAdder.TopHidden = settings.TopHidden
|
||||
|
||||
switch settings.Layout {
|
||||
case options.BalancedLayout:
|
||||
|
@ -22,7 +22,6 @@ import (
|
||||
files "github.com/ipfs/go-ipfs-files"
|
||||
path "github.com/ipfs/go-path"
|
||||
iface "github.com/ipfs/interface-go-ipfs-core"
|
||||
"github.com/ipfs/interface-go-ipfs-core/options"
|
||||
nsopts "github.com/ipfs/interface-go-ipfs-core/options/namesys"
|
||||
ci "github.com/libp2p/go-libp2p-crypto"
|
||||
id "github.com/libp2p/go-libp2p/p2p/protocol/identify"
|
||||
|
@ -50,7 +50,6 @@ func NewAdder(ctx context.Context, p pin.Pinner, bs bstore.GCLocker, ds ipld.DAG
|
||||
dagService: ds,
|
||||
bufferedDS: bufferedDS,
|
||||
Progress: false,
|
||||
Hidden: true,
|
||||
Pin: true,
|
||||
Trickle: false,
|
||||
Wrap: false,
|
||||
@ -67,15 +66,12 @@ type Adder struct {
|
||||
bufferedDS *ipld.BufferedDAG
|
||||
Out chan<- interface{}
|
||||
Progress bool
|
||||
Hidden bool
|
||||
TopHidden bool
|
||||
Pin bool
|
||||
Trickle bool
|
||||
RawLeaves bool
|
||||
Silent bool
|
||||
Wrap bool
|
||||
Name string
|
||||
BaseName string
|
||||
NoCopy bool
|
||||
Chunker string
|
||||
root ipld.Node
|
||||
@ -231,9 +227,6 @@ func (adder *Adder) outputDirs(path string, fsn mfs.FSNode) error {
|
||||
|
||||
func (adder *Adder) addNode(node ipld.Node, path string) error {
|
||||
// patch it into the root
|
||||
if adder.BaseName != "" {
|
||||
path = gopath.Join(adder.BaseName, path)
|
||||
}
|
||||
if path == "" {
|
||||
path = node.Cid().String()
|
||||
}
|
||||
@ -279,25 +272,8 @@ func (adder *Adder) AddAllAndPin(file files.Node) (ipld.Node, error) {
|
||||
}
|
||||
}()
|
||||
|
||||
d, dir := file.(files.Directory)
|
||||
if !dir || !adder.TopHidden {
|
||||
d = files.NewSliceDirectory([]files.DirEntry{
|
||||
files.FileEntry("", file),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// Iterate over each top-level file and add individually. Otherwise the
|
||||
// single files.File f is treated as a directory, affecting hidden file
|
||||
// semantics.
|
||||
it := d.Entries()
|
||||
for it.Next() {
|
||||
if err := adder.addFileNode(it.Name(), it.Node(), true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
if it.Err() != nil {
|
||||
return nil, it.Err()
|
||||
if err := adder.addFileNode("", file, true); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
mr, err := adder.mfsRoot()
|
||||
@ -313,6 +289,7 @@ func (adder *Adder) AddAllAndPin(file files.Node) (ipld.Node, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, dir := file.(files.Directory)
|
||||
var name string
|
||||
if !adder.Wrap && !dir {
|
||||
children, err := rootdir.ListNames(adder.ctx)
|
||||
@ -355,7 +332,7 @@ func (adder *Adder) AddAllAndPin(file files.Node) (ipld.Node, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := outputDagnode(adder.Out, adder.BaseName, nd); err != nil {
|
||||
if err := outputDagnode(adder.Out, "", nd); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@ -473,12 +450,6 @@ func (adder *Adder) addDir(path string, dir files.Directory, toplevel bool) erro
|
||||
it := dir.Entries()
|
||||
for it.Next() {
|
||||
fpath := gopath.Join(path, it.Name())
|
||||
|
||||
// Skip hidden files when adding recursively, unless Hidden is enabled.
|
||||
if files.IsHidden(fpath, it.Node()) && !adder.Hidden {
|
||||
log.Infof("%s is hidden, skipping", fpath)
|
||||
continue
|
||||
}
|
||||
err := adder.addFileNode(fpath, it.Node(), false)
|
||||
if err != nil {
|
||||
return err
|
||||
|
Reference in New Issue
Block a user