I’ve been playing around with the new pijul
a bit, and found some odd behaviour around cloning.
(This may well be on your list already – feel free to ignore. Thought I’d record it just in case. Also let me know if this should go elsewhere. I haven’t been able to connect to nest.)
My understanding is that
$ pijul clone <remote> /path/to/dest
clones a repository to the destination directory (so that /path/to/dest
would be the repository top level).
So e.g. to clone pijul (hypothetically), I’d do something like:
$ cd ~/src
$ pijul clone https://nest.pijul.org/pijul/pijul pijul
which would work fine. Where things get weird is if you omit the destination path argument, in which case pijul defaults to the current working directory. This has some weird consequences:
$ cd /src
$ pijul clone <remote>
Error: Permission denied (os error 13) at path "/.tmpawuSmZ"
(pijul clones into a temporary sibling director to the destination, which in this case is in read-only /
.)
$ cd ~src
$ mkdir dest
$ cd dest
$ pijul clone <remote>
This successfully clones the repo into ~/src/dest
(which will no longer be empty), but my current working directory has been moved out from under me (working directory is still empty, and my shell still thinks I’m in ~/src/dest
, but actually I need to call cd ../dest
to get what might be the expected result).
…
The obvious fix for this would be to default the destination path to some name derived from the remote, like git
does (so that pijul clone https://.../pijul
would clone into ./pijul
instead of .
). Otherwise, maybe require an explicit destination path argument?