code: func (s *Action) Clone(ctx context.Context, c *cli.Context) error {
  	if c.IsSet("crypto") {
  		ctx = backend.WithCryptoBackendString(ctx, c.String("crypto"))
  	}
  	if c.IsSet("sync") {
  		ctx = backend.WithRCSBackendString(ctx, c.String("sync"))
  	}
  
  	if len(c.Args()) < 1 {
  		return ExitError(ctx, ExitUsage, nil, "Usage: %s clone repo [mount]", s.Name)
  	}
  
  	repo := c.Args()[0]
  	mount := ""
  	if len(c.Args()) > 1 {
  		mount = c.Args()[1]
  	}
  
  	path := c.String("path")
  
  	return s.clone(ctx, repo, mount, path)
  }
docs: // Clone will fetch and mount a new password store from a git repo