Sat, 25 Mar 2023 17:23:09 +0100
force mkcol for every directory in the dav put command
% DAV(1) Version 1.3 | DavUtils User Manuals % Olaf Wintermann % December 15, 2019 # NAME **dav** - command line WebDAV client # SYNOPSIS **dav** *command* [*options*] *arguments*... # DESCRIPTION TODO # COMMANDS list [**-altdepcR**] [**-u** *date*] *url* : Lists the files at *url*. get [**-pcRK**] [**-o** *file*] [**-u** *date*] [**-V** *version*] *url* : Downloads a resource from *url*. put [**-pcR**] [**-k** *key*] [**-L** *lock*] *url* *file* : Uploads a resource to *url*. edit [**-pc**] [**-k** *key*] [**-V** *version*] [**-L** *lock*] *url* : Downloads or creates a resource and opens the editor. The editor can be specified via the EDITOR environment variable. Default editor is vi. mkdir [**-pc**] [**-k** *key*] [**-L** *lock*] *url* : Creates a new collection at *url*. remove [**-pc**] [**-L** *lock*] *url* : Deletes a resource or collection at *url* copy [**-pcO**] [**-L** *lock*] *srcurl* *desturl* : Copies a resource or collection from *srcurl* to *desturl*. move [**-pcO**] [**-L** *lock*] *srcurl* *desturl* : Moves a resource or collection from *srcurl* to *desturl*. rename [**-pcO**] [**-L** *lock*] *srcurl* *name* : Changes the name of a resource or collection at *srcurl* to *name*. export [**-pc**] [**-o** *file*] [**-u** *date*] *url* : Exports a resource or collection to a **tar(5)** archive. By default the data is written to *stdout*, but you may specify a *file* with the **-o** option. import [**-pc**] [**-k** *key*] [**-L** *lock*] *url* *file* : Uploads and extracts the contents of the **tar(5)** archive *file* to *url*. get-property [**-pcx**] [**-n** *uri*] *url* *property* : Gets a specific resource property. Every WebDAV property has a name and an XML namespace. A namespace can be specified with the **-n** option or with a prefixed name. The prefix and property name are separated by a colon *:* as usual. If the **-x** option is specified, a valid XML document containing the value is printed on *stdout*. If the property contains XML data and the **-x** option is not specified, the value is printed on *stderr* in an XML-like format. set-property [**-pcx**] [**-L** *lock*] [**-n** *uri*] *url* *property* [*value*] : Sets a resource property to the specified value. See **get-property** for details. If no *value* is specified, it is read from *stdin*. remove-property [**-pc**] [**-n** *uri*] *url* *property* : Removes a resource property. lock [**-pc**] [**-T** *timeout*] *url* : Creates a lock on the resource at *url*. The lock is an exclusive write lock with infinite depth. If the resource is sucessfully locked, a lock token for this resource is printed to *stdout*. This lock token should be saved to unlock the resource eventually. unlock [**-pc**] [**-L** *lock*] *url* : Unlocks the resource at *url* with a lock token. If *lock* is not specified, the token is read from *stdin*. info [**-pc**] *url* : Prints some information and lists al properties for the resource at *url*. date [*url*] : Gets the time from the server providing the resource denoted by *url*. If *url* is not specified, this command prints the local time. This command is useful, if the server clock and the local clock are not in sync. versioncontrol [**-pc**] *url* : Puts the resource, specified by url, under version control. This is required in order to use other versioning commands with this resource. list-versions [**-pc**] *url* : Lists all versions of a version-controlled resource. checkout [**-pc**] *url* : Changes the state of a resource to checked-out to allow modifications to the content and properties. checkin [**-pc**] *url* : Changes the state of a resource to checked-in. This will create a new version of the resource. In the checked-in state the resource cannot be modified. uncheckout [**-pc**] *url* : Cancels all modification of the resource and sets the state to checked-in without creating a new version. # CONFIGURATION COMMANDS add-repository : This command runs an interactive assistant that creates a repository configuration. remove-repository *name* : Removes the repository with the specified *name* from the configuration. list-repositories : Lists all currently configured repositories. check-config : Validates the **$HOME/.dav/config.xml** configuration file. repository-url [**-p**] *repository* : Prints the repository url. add-user : Adds a user to the secret store. remove-user : Removes a user from the secret store. edit-user : Interactive command for modifying users stored in the secret store. list-users : Lists all users stored in the secret store. # GENERAL OPTIONS The following options can be used with all commands. -i : Disable cert verification. -N : Disable authentication prompt. -v : Verbose output. # COMMAND OPTIONS -a : Show all files. -c : Enable full encryption. -d : Order by last modified date. -e : Show extended flags. -K : Keep already present files. -k *key* : Key to use for encryption. -l : Print resources in long list format. -L *lock* : Specificy lock token. -n *uri* : Specify namespace *uri*. There are two namespaces configured by default. 1. *D* for the *DAV:* namespace 2. *idav* for the *http://davutils.org/* namespace -o *file* : Write output to *file*. Use '-' for stdout. -O : Override resources. -p : Don't encrypt or decrypt files. -R : Recursively do the operation for all children. -t : Print content type. -T *sec* : Timeout in seconds. -u *date* : Get resources which are modified since the specified *date*. -V *version* : downloads a specific version of the resource. Available versions can be listed with the list-versions command -x : XML property content. # SEE ALSO `dav-sync` (1). DavUtils full documentation: <https://davutils.sourceforge.io/>.