cmd/cammount: add more documentation and examples to help people get started with PerkeepFs

Fixes #789

Change-Id: I9f0d0a8a823902ed2ae1bf83d4a5b58fadac1d7d
This commit is contained in:
Paul Lindner 2017-12-19 15:32:33 -08:00
parent 574a9311ec
commit d81b001d24
2 changed files with 87 additions and 9 deletions

View File

@ -15,16 +15,94 @@ limitations under the License.
*/
/*
The cammount tool mounts a root directory blob onto the given mountpoint. The blobref can be given directly or through a share blob URL. If no root blobref is given, an automatic root is created instead.
The cammount tool mounts a root directory blob onto the given
mountpoint. The blobref can be given directly or through a share blob
URL. If no root blobref is given, an automatic root is created
instead.
Mounting
Execute the following commands in a shell to mount a Perkeep directory in your home directory.
mkdir ~/Perkeep
cammount ~/Perkeep
cd ~/Perkeep
ls -C1
WELCOME.txt
at
date
recent
roots
sha1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tag
Usage:
Creating a Root Node
cammount [opts] <mountpoint> [<root-blobref>|<share URL>]
-debug=false: print debugging messages.
-server="": Camlistore server prefix.
If blank, the default from the "server" field of ~/.camlistore/config is used.
Acceptable forms: https://you.example.com, example.com:1345 (https assumed), or
http://you.example.com/alt-root
Files and directories are anchored in a root node. You can view and
create Root nodes in the roots directory. For example to create a
Photos root node execute the following commands:
cd ~/Perkeep
mkdir roots/Photos
cd roots/Photos
cp -R ~/Photos/* .
Accessing Recent Items
A list of recently accessed items are visible in the recent directory.
cd ~/Perkeep/recent
ls -C1
IMG_20171104_193001.jpg
IMG_20171104_205408_thumbnail.jpg
IMG_20171208_070038.jpg
test.txt
Accessing Content at a specific Point in Time
The at directory contains full instructions in the README.txt file contained within.
Accessing a specific Node
You can directly access a specific directory by using the full sha1 identifier.
cd ~/Perkeep
cd sha1-xxx # where xxx is the full 16 character identifier
Full Command Line Usage
cammount [opts] [<mountpoint> [<root-blobref>|<share URL>|<root-name>]]
-debug
print debugging messages.
-help
print usage
-legal
show licenses
-open
Open a GUI window
-secret-keyring string
GnuPG secret keyring file to use.
-server string
Perkeep server prefix.
If blank, the default from the "server" field of the default
config is used. Acceptable forms:
https://you.example.com,
example.com:1345 (https assumed), or
http://you.example.com/alt-root
-term
Open a terminal window. Doesn't shut down when exited. Mostly for demos.
-verbose
extra debug logging
-version
show version
-xterm
Run an xterm in the mounted directory. Shut down when xterm ends.
*/
package main // import "camlistore.org/cmd/cammount"

View File

@ -99,7 +99,7 @@ func (n *root) Lookup(ctx context.Context, name string) (fs.Node, error) {
case ".quitquitquit":
log.Fatalf("Shutting down due to root .quitquitquit lookup.")
case "WELCOME.txt":
return staticFileNode("Welcome to CamlistoreFS.\n\nFor now you can only cd into a sha1-xxxx directory, if you know the blobref of a directory or a file.\n"), nil
return staticFileNode("Welcome to PerkeepFS.\n\nMore information is available in the cammount documentation.\n\nSee https://perkeep.org/cmd/cammount/\n"), nil
case "recent":
return n.getRecentDir(), nil
case "tag", "date":