- 21 Jul, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 20 Jul, 2015 2 commits
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 18 Jul, 2015 1 commit
-
-
Michael Muré authored
License: MIT Signed-off-by: Michael Muré <batolettre@gmail.com>
-
- 14 Jul, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 10 Jul, 2015 2 commits
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Juan Batiz-Benet authored
we shouldn't use internal packages. License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
-
- 09 Jul, 2015 1 commit
-
-
gatesvp authored
License: MIT Signed-off-by: Gaetan Voyer-Perrault <gatesvp@gmail.com>
-
- 06 Jul, 2015 1 commit
-
-
W. Trevor King authored
The old text belonged to an earlier iteration that didn't land in the rebased 434871ba (core/commands/unixfs: Add 'ipfs unixfs ls ...', 2015-06-09).
-
- 04 Jul, 2015 1 commit
-
-
rht authored
License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
- 03 Jul, 2015 1 commit
-
-
rht authored
Add ErrNoComponents in ParsePath validation & remove redundant path validation. Any lines using core.Resolve & Resolver.ResolvePath will have their path validated. License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
- 02 Jul, 2015 1 commit
-
-
Juan Batiz-Benet authored
This commit changes the DialBlocklist key to be under the key Swarm.AddrFilters instead. License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
-
- 01 Jul, 2015 2 commits
-
-
rht authored
Currently `ipfs get -C <hash>` returns error even if <hash> is a file. This PR is for the case when the compress flag is enabled, use the dagreader directly and pipe to a gzip processor. License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 27 Jun, 2015 2 commits
-
-
Juan Batiz-Benet authored
Add a command to return local addresses. License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
-
Juan Batiz-Benet authored
- added <addrs> field to `ipfs id -f` - added \n and \t conversion in `ipfs id -f` License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
-
- 22 Jun, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 20 Jun, 2015 9 commits
-
-
W. Trevor King authored
Instead of abusing a LsLink for non-directory objects [1]. [1]: https://github.com/ipfs/go-ipfs/pull/1348#discussion_r32680669 License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
We don't want to prefix these results with the argument. If there was only one argument, the unprefixed results are still explicit. License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
Discussion with Juan on IRC ([1] through [2]) lead to this adjusted JSON output. Benefits over the old output include: * deduplication (we only check the children of a given Merkle node once, even if multiple arguments resolve to that hash) * alphabetized output (like POSIX's ls). As a side-effect of this change, I'm also matching GNU Coreutils' ls output (maybe in POSIX?) by printing an alphabetized list of non-directories (one per line) first, with alphabetized directory lists afterwards. [1]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41725570&page=5 [2]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41726547&page=5 License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
Discussing this on IRC ([1] through [2]), Jeromy and I decided that we'd really like a way to configure per-command [3] and per-action timeouts, but until we have that we want to leave the minute limit here. We also decided that the use of TODO here instead of the per-command req.Context().Context was a bug, which I'm fixing with this commit. [1]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41714126&page=4 [2]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41715618&page=4 [3]: https://github.com/ipfs/go-ipfs/issues/1325 License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
This doesn't affect the text output, which was already using a stringified name. The earlier stringification does change the JSON output from an enumeration integer (e.g. 2) to the string form (e.g. "File"). If/when we transition to Merkle-object types named by their hash, we will probably want to revisit this and pass both the type hash and human-readable-but-collision-prone name on to clients. License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
Change the approach to the directory-header control so we can set the Argument value in the JSON response. Stripping the trailing newline from the JSON output is annoying, but looking over [1] I saw no easy way to add a newline to the JSON output. And with the general framework that commands/ attempts to be, it feels a bit funny to customize the JSON output for a command-line program. Perhaps a workable solution is to have the command-line client append newlines to any output that otherwise lacks them? But that seems like a change best left to a separate series. [1]: http://golang.org/pkg/encoding/json/ License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Dylan Powers authored
License: MIT Signed-off-by: Dylan Powers <dylan.kyle.powers@gmail.com>
-
Dylan Powers authored
License: MIT Signed-off-by: Dylan Powers <dylan.kyle.powers@gmail.com>
-
- 19 Jun, 2015 3 commits
-
-
Dylan Powers authored
License: MIT Signed-off-by: Dylan Powers <dylan.kyle.powers@gmail.com>
-
W. Trevor King authored
Instead of raising "keychains not yet implemented" whenever we have an explicit node ID, only raise the error when the given node ID isn't the local node. This allows folks to use the more-general explicit-node-ID form in scripts and such now, as long as they use the local node name when calling those scripts. Also add a test for this case, and update the comment for the one-argument case to match the current syntax for extracting a multihash name string. License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
ipfs-shell [1] accesses the Command objects directly to construct requests for an external IPFS daemon API. This isn't a terribly robust approach, because it doesn't handle version differences between the version of go-ipfs used to build the daemon and the version used to build the ipfs-shell-consuming application. But for cases where you can get those APIs to match it works well. Making these two commands public allows us to write ipfs-shell wrappers for them. Until we figure out how to get ipfs-shell working without access to core/commands, I think the best approach is to make future command objects and their returned structures public, and to go back and expose existing commands/structures on an as-needed basis. In this case, I need the public PublishCmd for the Docker-registry storage driver, and I made the IpnsCmd public at the same time to stay consistent for both 'ipfs name ...' sub-commands. [1]: https://github.com/whyrusleeping/ipfs-shell License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
- 18 Jun, 2015 4 commits
-
-
Juan Batiz-Benet authored
There has been a regression such that ./t0030-mount.sh fails on 'ipfs mount' fails when there is no mount dir The issue was a change in how fuse errors are reported to the client process. We have introduced an optimistic categorization that hides the obscure fusermount error and replaces it with something a bit more helpful. License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
-
rht authored
License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
rht authored
And substitute the lines using Notice{,f} with Info{,f} License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
rht authored
Except when there is an explicit os.Exit(1) after the Critical line, then replace with Fatal{,f}. golang's log and logrus already call os.Exit(1) by default with Fatal. License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
- 16 Jun, 2015 1 commit
-
-
Dylan Powers authored
License: MIT Signed-off-by: Dylan Powers <dylan.kyle.powers@gmail.com>
-
- 13 Jun, 2015 3 commits
-
-
W. Trevor King authored
To be less confusing to newcomers (the IPFS filesystem isn't Unix-specific anyway, and it isn't even very POSIX-specific [1,2,3]). I'm a bit uncertain about having one name for users and another for devs, but the consensus seems to be that mainaining two names is worth the trouble [4]. We also kicked around: * 'files' (plural), * 'filesystem' (too long), and * 'fs' (redundant after 'ipfs', even though IPFS isn't just about filesystems) on IRC [5 through 6]. I wish there was a more evocative term. I'm never sure where "file" lands on the scale between "filesysytem", "everything is a file", "a single chunk of data with an associated inode". But we can't think of anything better. [1]: https://github.com/ipfs/go-ipfs/pull/1348#issuecomment-110529070 [2]: https://github.com/ipfs/go-ipfs/pull/1348#issuecomment-110529921 [3]: https://github.com/ipfs/go-ipfs/pull/1136/files#r29377283 In my response to this (no longer visibile on GitHub): On Wed, Apr 29, 2015 at 01:30:04PM -0700, Juan Batiz-Benet wrote: > > +package fsnode > > i think this package should be called `unixfs` as that's the > abstraction that this is calling to. Will do, although I don't see what's especially Unix-y about these file nodes. [4]: https://github.com/ipfs/go-ipfs/pull/1348#issuecomment-110529811 [5]: https://botbot.me/freenode/ipfs/2015-06-09/?msg=41428456&page=5 [6]: https://botbot.me/freenode/ipfs/2015-06-09/?msg=41430703&page=5 License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
Folks operating at the Unix-filesystem level shouldn't care about that level of Merkle-DAG detail. Before this commit we had: $ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox: ... several lines of empty-string names ... And with this commit we have: $ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox I also reworked the argument-prefixing (object.Argument) in the output marshaller to avoid redundancies like: $ ipfs unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox: /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox As a side-effect of this rework, we no longer have the trailing blank line that we used to have after the final directory listing. The new ErrImplementation is like Python's NotImplementedError, and is mostly a way to guard against external changes that would need associated updates in this code. For example, once we see something that's neither a file nor a directory, we'll have to update the switch statement to handle those objects. License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
W. Trevor King authored
This is similar to 'ipfs ls ...', but it: * Lists file sizes that match the content size: $ ipfs --encoding=json unixfs ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4 { "Objects": [ { "Argument": "/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4", "Links": [ { "Name": "busybox", "Hash": "QmPbjmmci73roXf9VijpyQGgRJZthiQfnEetaMRGoGYV5a", "Size": 1947624, "Type": 2 } ] } ] } $ ipfs cat /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4/busybox | wc -c 1947624 'ipfs ls ...', on the other hand, is using the Merkle-descendant size, which also includes fanout links and the typing information unixfs objects store in their Data: $ ipfs --encoding=json ls /ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4 { "Objects": [ { "Hash": "/ipfs/QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4", "Links": [ { "Name": "busybox", "Hash": "QmPbjmmci73roXf9VijpyQGgRJZthiQfnEetaMRGoGYV5a", "Size": 1948128, "Type": 2 } ] } ] } * Has a simpler text output corresponding to POSIX ls [1]: $ ipfs unixfs ls /ipfs/QmV2FrBtvue5ve7vxbAzKz3mTdWq8wfMNPwYd8d9KHksCF/gentoo/stage3/amd64/2015-04-02 bin dev etc proc run sys $ ipfs ls /ipfs/QmV2FrBtvue5ve7vxbAzKz3mTdWq8wfMNPwYd8d9KHksCF/gentoo/stage3/amd64/2015-04-02 QmSRCHG21Sbqm3EJG9aEBo4vS7Fqu86pAjqf99MyCdNxZ4 1948183 bin/ QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn 4 dev/ QmUz1Z5jnQEjwr78fiMk5babwjJBDmhN5sx5HvPiTGGGjM 1207 etc/ QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn 4 proc/ QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn 4 run/ QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn 4 sys/ The minimal output allows us to start off with POSIX compliance and then add options (which may or may not be POSIX compatible) to adjust the output format as we get a better feel for what we need ([2] through [3]). [1]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html [2]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41724727&page=5 [3]: https://botbot.me/freenode/ipfs/2015-06-12/?msg=41725146&page=5 License: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
- 09 Jun, 2015 1 commit
-
-
W. Trevor King authored
Since 607468a9 (beautify 'ipfs ls' and 'ipfs object links', #833) we've had these. That pull request was about text/tabwriter [1] and elastic tabstops [2], but we don't need a column separator at the end of each line. [1]: https://golang.org/pkg/text/tabwriter/ [2]: http://nickgravgaard.com/elastic-tabstops/index.html Licence: MIT Signed-off-by: W. Trevor King <wking@tremily.us>
-
- 08 Jun, 2015 1 commit
-
-
Jeromy authored
-
- 03 Jun, 2015 1 commit
-
-
Jeromy authored
WIP: object creator command better docs move patch command into object namespace dont ignore cancel funcs addressing comment from CR add two new subcommands to object patch and clean up main Run func cancel contexts in early returns switch to util.Key
-