diff --git a/mfs/dir.go b/mfs/dir.go index ba14464ae76..f6329dae812 100644 --- a/mfs/dir.go +++ b/mfs/dir.go @@ -339,17 +339,6 @@ func (d *Directory) AddChild(name string, nd *dag.Node) error { d.modTime = time.Now() - if len(nd.Links) == 0 { - nfi, err := NewFile(name, nd, d, d.dserv) - if err != nil { - return err - } - d.files[name] = nfi - } else { - ndir := NewDirectory(d.ctx, name, nd, d, d.dserv) - d.childDirs[name] = ndir - } - return nil } diff --git a/test/sharness/t0250-files-api.sh b/test/sharness/t0250-files-api.sh index 806d0b14a33..0dac0d79c58 100755 --- a/test/sharness/t0250-files-api.sh +++ b/test/sharness/t0250-files-api.sh @@ -437,6 +437,25 @@ test_files_api() { test_expect_success "child dir looks right" ' verify_dir_contents / ' + + # test for https://github.com/ipfs/go-ipfs/issues/2654 + test_expect_success "create and remove dir" ' + ipfs files mkdir /test_dir && + ipfs files rm -r "/test_dir" + ' + test_expect_success "create test file" ' + echo "content" | ipfs files write -e "/test_file" + ' + test_expect_success "copy test file onto test dir" ' + ipfs files cp "/test_file" "/test_dir" + ' + test_expect_success "test /test_dir" ' + ipfs files stat "/test_dir" | grep -q "^Type: file" + ' + test_expect_success "clean up /test_dir and /test_file" ' + ipfs files rm -r /test_dir && + ipfs files rm -r /test_file + ' } # test offline and online