#958731 mr: Using sr.ht repo URLs results in "illegal checkout command"

#958731#5
Date:
2020-04-24 19:03:22 UTC
From:
To:
Dear Maintainer,

when the .mrconfig file contains a URL from the
[sr.ht](https://sourcehut.org) forge it doesn't recognise it as
trusted.

For example, if I have this in .mrconfig:

    [builds.sr.ht]
    checkout = git clone 'https://git.sr.ht/~sircmpwn/core.sr.ht' 'core.sr.ht'

and run the `mr update` command, I get:

    mr: illegal checkout command "git clone 'https://git.sr.ht/~sircmpwn/core.sr.ht' 'core.sr.ht'" in untrusted <somewhere>/.mrconfig line 3
    (To trust this file, list it in ~/.mrtrust.)

It seems this is because of the "unusual" tilde character in the URL.
The mr source has the following regex in `is_trusted_checkout`:

    # Match all the typical characters found in
    # urls, plus @ which svn can use. Note
    # that the "url" might also be a local
    # directory.
    $match=(
        defined $words[$c] &&
        $words[$c] =~ /^[-_.+:@\/A-Za-z0-9]+$/
    );
    $url=$words[$c];

My guess is adding "~" to the character class would fix the issue.

Thanks,
--Daniel