kubo/cmd/ipfs/pin.go
2014-10-22 00:28:41 -07:00

63 lines
1.5 KiB
Go

package main
import (
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/gonuts/flag"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander"
"github.com/jbenet/go-ipfs/core/commands"
)
var cmdIpfsPin = &commander.Command{
UsageLine: "pin",
Short: "",
Long: `ipfs pin [add|rm] - object pinning commands
`,
Subcommands: []*commander.Command{
cmdIpfsSubPin,
cmdIpfsSubUnpin,
},
}
var cmdIpfsSubPin = &commander.Command{
UsageLine: "add",
Short: "pin an ipfs object to local storage.",
Long: `ipfs pin add <ipfs-path> - pin ipfs object to local storage.
Retrieves the object named by <ipfs-path> and stores it locally
on disk.
`,
Run: pinSubCmd,
Flag: *flag.NewFlagSet("ipfs-pin", flag.ExitOnError),
}
var pinSubCmd = makeCommand(command{
name: "pin",
args: 1,
flags: []string{"r", "d"},
cmdFn: commands.Pin,
})
var cmdIpfsSubUnpin = &commander.Command{
UsageLine: "rm",
Short: "unpin an ipfs object from local storage.",
Long: `ipfs pin rm <ipfs-path> - unpin ipfs object from local storage.
Removes the pin from the given object allowing it to be garbage
collected if needed.
`,
Run: unpinSubCmd,
Flag: *flag.NewFlagSet("ipfs-unpin", flag.ExitOnError),
}
var unpinSubCmd = makeCommand(command{
name: "unpin",
args: 1,
flags: []string{"r"},
cmdFn: commands.Unpin,
})
func init() {
cmdIpfsSubPin.Flag.Bool("r", false, "pin objects recursively")
cmdIpfsSubPin.Flag.Int("d", 1, "recursive depth")
cmdIpfsSubUnpin.Flag.Bool("r", false, "unpin objects recursively")
}