Pierre, please find below my notes on all my walkthrougt on pijul discovery.
I think it is important, because it will show you all the pitfall I had to workaround before being able to play with pijul. ie, thinks to be updated in the doc.
Last part is in french, I will translate it but later if needed
Hope it will help you lower the entry level for newcomers.
First I gone to online manual that is a very good start point.
(Note I said that for later point when one want to later develop, see below after installation part)
Installation:
Installation via nix not easy on debian:
#curl https://nixos.org/nix/install | sh
The main issue I encountered was an error at the end of process install:
nix error: cloning builder process: Operation not permitted
I had to create a /etc/sysctl.d/nix.conf
kernel.unprivileged_userns_clone=1
(-> created a bug report on nixos https://github.com/NixOS/nixpkgs/issues/61271)
Still we should add a note on the manual I think.
Then:
$nix-env -iA nixos.pijul
error: attribute ânixosâ in selection path ânixos.pijulâ not found
;_;
$nix-env upgrade (not sure this one is mandatory)
$nix-env -i pijul
which installed version 0.11
Note that I did not intall nixos.pijul but pijul -> should be updated in the doc.
Installation via CARGO not easy because of missing libraires to be able to compile not explained in the doc:
On debian be sure to install needed libraries:
sudo apt install libsodium-dev libsodium-dev libclang-dev libclang clang
(not sure libclang and/or libclang-dev is needed)
Add these requirement in the doc
Next I wanted to develop.
I did not found any info in the manual
What to do to make a patch or just develop for pijull ???
I was completely lostâŠ
Hopefully , I donât know why, I had the idea to a cat README on my terminal, all the info was there. -> Excellent, but keep in mind as a dumb user I was refering to the excellent online manual.
Perhaps add a link in the online manual: Want to send a patch? -> got see README
---------- Part below in french Iâm too lazy to translate it ----------------------
Compliqué pour un premier patch:
- procédure pour uploader pas a jour
- ne supporte pas ssh-agent (pas un problÚme mais il faudrais expliquer alors le mécanisme de pijul pur les gens habitués a mercurial par exemple qui ont leurs habitudes.)
Dans la doc on nous dit que pour signer par exemple un patch il faut lancer une commande.
En vĂ©ritĂ©, tant que lâon a pas uploadĂ© notre public ssh key, rien nâest fonctionel car pas lâon ne peut pas accĂ©der au nest en ligne de commande.
En fait la doc assume que lâon a dĂ©jĂ uploadĂ© notre public key sans expliquer comment lâuploder.
Erreur typique, jâai moi meme gĂ©nĂ©rĂ© ma clef avec ssh-keygen + chargĂ© en mĂ©moire avec ssh-add mais cela ne fonctionne pas
Ce qui est normal mais il faudrais expliquer la bonne maniĂšre.
Dâailleurs je ne suis pas sĂ»r de la bonne procĂ©dure en faitâŠ
BUG:
When we clone pijul there is a bug in log.rs.
.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
debug!(âhash: {:?}â, hash_ext.to_base58());
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Probleme/BUG:
Une fois clonĂ©, la command pijul log --last fonctionne bizarrement, je ne comprends pas comment elle fonctionneâŠ
Pourquoi nâai je pas les dernier patch dont :
Fixing the detection of zombie lines in record by pmeunier, created on April 25, 2019
Qui devrait résoudre le bug cité plus haut.
pijul log --last 5
Hash: 7Vew9h1cjBSqcQzqt8ULjqvQFcrvMHFyAYYL6hJswWDXJ4GifhR8xDMrccrAGeDLYva3Y5p372a9N7xfZcPPooTa
Internal id: CWZi2Tk6AUX
Authors: lthms contact@thomasletan.fr
Timestamp: 2019-04-01 05:44:43.949449599 UTC
merge: Fix conflicts in pijul-push
Hash: 7U1AdXJ6JJiQ3ozkHD14U42e98dvf4jxYkLuA2Sc2mm2d9bsAedYUq9zp7E3gP3euhskseFi9zNgnRgsAxWo82XE
Internal id: CGkWxLK2fvf
Authors: Pierre-Ătienne Meunier pe@pijul.org
Timestamp: 2019-04-01 12:36:36.153673909 UTC
Removing the "challenge" file (not used anymore)
Hash: A9rzRfceJWTQyasxG5JsyUFzQB1FCnko4xrGjVj57cT1oaTYX8baPSaPvCcxRq9ZS5hqMvusPT4N1ChmYGKxzSpH
Internal id: akfcXg4v6dj
Authors: Pierre-Ătienne Meunier pe@pijul.org
Timestamp: 2019-04-25 11:05:13.474931272 UTC
Emacs VC mode: now displaying the last patch that touched the file!
Hash: 9KmHRe9q1Upuub5ei69mh2ion9kjeg5FGmNymVU7L8DK3iDZTh8Yixsk3k58z11wjkLtvddZeRuEVj5SWScXTUk3
Internal id: TpGwv78wPkY
Authors: Pierre-Ătienne Meunier pe@pijul.org
Timestamp: 2019-04-14 13:09:10.690101826 UTC
Save global configuration only if it didn't exist already
Hash: AGU7LTcFFWwKbg53oWTxPr1rTcpfHud4EJNn2mHwhVkQKKBTGR6eu9Nmwb11ZUELqkH7XxmG38h7ZU49bcfZxeqZ
Internal id: bhvnVEksVfZ
Authors: Pierre-Ătienne Meunier pe@pijul.org
Timestamp: 2019-04-22 16:27:49.967258657 UTC
Fixing an old conflict (this time for real)
pijul log --last 1
Hash: 7Vew9h1cjBSqcQzqt8ULjqvQFcrvMHFyAYYL6hJswWDXJ4GifhR8xDMrccrAGeDLYva3Y5p372a9N7xfZcPPooTa
Internal id: CWZi2Tk6AUX
Authors: lthms contact@thomasletan.fr
Timestamp: 2019-04-01 05:44:43.949449599 UTC
merge: Fix conflicts in pijul-push