Skip to content

Commit

Permalink
mu-find: insist on --linksdir for links
Browse files Browse the repository at this point in the history
Fixes #2790.
  • Loading branch information
djcb committed Dec 4, 2024
1 parent ffb3563 commit 1b2d9d3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
9 changes: 5 additions & 4 deletions man/mu-find.1.org
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,16 @@ Output results in the specified format.
- The default is *plain*, i.e normal output with one line per message.
- *links* outputs the results as a maildir with symbolic links to the found
messages. This enables easy integration with mail-clients (see below for more
information).
information). This requires *--linksdir*.
- *xml* formats the search results as XML.
- *sexp* formats the search results as an s-expression as used in Lisp programming
environments.

** --linksdir _dir_ and -c, --clearlinks
When using *--format=links*, output the results as a maildir with symbolic links to
the found messages. This enables easy integration with mail-clients (see below
for more information). *mu* will create the maildir if it does not exist yet.
When using *--format=links*, output the results as a maildir with symbolic links
to the found messages. This enables easy integration with mail-clients (see
below for more information). *mu* will create the maildir if it does not exist
yet.

If you specify *--clearlinks*, existing symlinks will be cleared from the target
directories; this allows for re-use of the same maildir. However, this option
Expand Down
4 changes: 4 additions & 0 deletions mu/mu-cmd-find.cc
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,10 @@ get_query(const Store& store, const Options& opts)
static Result<void>
prepare_links(const Options& opts)
{
// XXX: can this be done as part of the option-parsing?
if (opts.find.linksdir.empty())
return Err(Error::Code::InvalidArgument, "--linksdir is required");

/* note, mu_maildir_mkdir simply ignores whatever part of the
* mail dir already exists */
if (auto&& res = maildir_mkdir(opts.find.linksdir, 0700, true); !res)
Expand Down

0 comments on commit 1b2d9d3

Please sign in to comment.