{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1348","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1348/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1348/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1348/events","html_url":"https://github.com/ipfs/go-ipfs/pull/1348","id":86742120,"number":1348,"title":"Add 'ipfs unixfs ls …'","user":{"login":"wking","id":209920,"avatar_url":"https://avatars.githubusercontent.com/u/209920?v=3","gravatar_id":"","url":"https://api.github.com/users/wking","html_url":"https://github.com/wking","followers_url":"https://api.github.com/users/wking/followers","following_url":"https://api.github.com/users/wking/following{/other_user}","gists_url":"https://api.github.com/users/wking/gists{/gist_id}","starred_url":"https://api.github.com/users/wking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wking/subscriptions","organizations_url":"https://api.github.com/users/wking/orgs","repos_url":"https://api.github.com/users/wking/repos","events_url":"https://api.github.com/users/wking/events{/privacy}","received_events_url":"https://api.github.com/users/wking/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ipfs/go-ipfs/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-09T21:32:28Z","updated_at":"2015-06-09T23:15:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ipfs/go-ipfs/pulls/1348","html_url":"https://github.com/ipfs/go-ipfs/pull/1348","diff_url":"https://github.com/ipfs/go-ipfs/pull/1348.diff","patch_url":"https://github.com/ipfs/go-ipfs/pull/1348.patch"},"body":"This is mostly to get an interface for listing the file-sizes for Unix\nfiles (vs. the Merkle-ancestor sizes listed by `ipfs ls …`).  For\nbackground, see #543.  For details on the individual commits, see the\ncommit messages.\n\nThe intended space for `ipfs unixfs …` is for folks operating with\nUnix-filesystem trees (obviously), so the API should tranparently\nresolve any fanout.  The current Merkle-level commands (`ipfs ls …`,\netc.) on the other hand should be operating below the UnixFS level.\nThey probably shouldn't handle fanout, and they almost certainly\nshouldn't be converting Merkle nodes to UnixFS nodes.  For example,\n`ipfs cat …` might print the appended set of all constituent chunks,\nbut it shouldn't be stripping the magic Data wrappers (`Type`,\n`Filesize`, `Blocksizes`, … in `unixfs_pb.Data`), because ‘ipfs cat …’\nmight be used to access non-UnixFS nodes.\n\nI think there is space between the really-low-level `ipfs object …`\nAPI and the UnixFS API we're starting here for commands that only add\nfanout and typing to the base Merkle objects.  Then the UnixFS\nimplementation can build on that.  For example, the `ipfs unixfs ls …`\nimplementation here doesn't currently handle fanned-out directories.\nBlocking issues for building such an intermediate API include generic\ntyping (vs. the Protobuf magic in `unixfs_pb.Data`, see ipfs/ipfs#36)\nand generic fanout (see ipfs/specs#10).\n\nThere are a few consistency issues with the exising `ipfs ls …` that I\npoint out in the commit messages, and we'll want to resolve those\nbefore merging this PR."},"comment":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/comments/110529921","html_url":"https://github.com/ipfs/go-ipfs/pull/1348#issuecomment-110529921","issue_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/1348","id":110529921,"user":{"login":"whyrusleeping","id":1243164,"avatar_url":"https://avatars.githubusercontent.com/u/1243164?v=3","gravatar_id":"","url":"https://api.github.com/users/whyrusleeping","html_url":"https://github.com/whyrusleeping","followers_url":"https://api.github.com/users/whyrusleeping/followers","following_url":"https://api.github.com/users/whyrusleeping/following{/other_user}","gists_url":"https://api.github.com/users/whyrusleeping/gists{/gist_id}","starred_url":"https://api.github.com/users/whyrusleeping/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whyrusleeping/subscriptions","organizations_url":"https://api.github.com/users/whyrusleeping/orgs","repos_url":"https://api.github.com/users/whyrusleeping/repos","events_url":"https://api.github.com/users/whyrusleeping/events{/privacy}","received_events_url":"https://api.github.com/users/whyrusleeping/received_events","type":"User","site_admin":false},"created_at":"2015-06-09T23:15:13Z","updated_at":"2015-06-09T23:15:13Z","body":"just this command should be files. unixfs is fine in the codebase"}}