The sound distributed version control system

#832 [DRAFT] refactor global configuration

Opened by hardy7cc on October 29, 2023
hardy7cc on October 29, 2023

The global configuration code is some what not working because of multiple problems. I want to address theme here.

For the record the “global” config file is normally searched for in following order “$PIJUL_CONFIG_DIR/config.toml” or “~/.config/pijul/config.toml” or “~/.pijulconfig/config.toml”.

About potential issues:

  • The Global config struct does contain the field “author” which is kinda mandatory. And therefore any config.toml file which does not contain the “[author]” table entry is already invalid.
    • Anyway the concept of author/identity has shifted since this config toml-table entry was introduce and I wonder if this should be removed from the global config (or at least somehow deprecated and made optional).
  • Error handling on parsing the config file.
    • As far as I can tell there is no proper way to output/report config parsing errors to the user. And so the user does have no clue if the values in config.toml are accounted for or silently ignored and replaced with some other defaults.
hardy7cc added a change on October 29, 2023
add unittest for config created on August 13, 2023
MLDONFXV2C73GBR2E566E3274VBXWEH6G6XI2LVFFW3UGEC325QQC
hardy7cc added a change on October 29, 2023
run cargo fmt created on August 13, 2023
KITFGWY2FX3OZVDBCMTKJ5EX5ASQE2FOXGJ7JGJM5NT2ETVVNN6QC
hardy7cc added a change on October 29, 2023
Bump lockfile by finchie, created on July 12, 2023
RH7NSV7FYXWA54NVOUGMFOINLY5OFTWK5AMR6IDBBEU3LWQ2HL3QC
main
hardy7cc added a change on October 29, 2023
Remove dependency on `num_cpus` by finchie, created on July 12, 2023
DDJO7X2P2BAJSXPOE6ODKAJM7GRWKPT36WWTUZ373ZWQRYU4CFIAC
main
hardy7cc added a change on October 29, 2023
Remove dependency on `once_cell` by finchie, created on July 12, 2023
BV4PLHOVPSA5UKF43TL6EC57I7XHYWKZWV6LXI7YTGS2K3SQMY2AC
main
hardy7cc added a change on October 29, 2023
Remove unused dependencies by finchie, created on July 12, 2023
RZ75BZCIWI2LYV5ZHTHV5ZPAQ25D537PNGPOQM7MW6CU77KROB7QC
main
hardy7cc added a change on October 29, 2023
DVBSW7SICQMTYIC4NOLA3CBRU5OWPAWX3MYEOZ7UWXF3IJLLJDYQC
main
hardy7cc added a change on October 29, 2023
Bump flake.nix & flake.lock by finchie, created on July 13, 2023
2RUJ4J7MBRP3N3FRDPS4CSSAXK6T6UWZAMS7RRDQSRNATERMPY4QC
main
hardy7cc added a change on October 29, 2023
Bump edition to 2021 by finchie, created on July 13, 2023
JMOHVR5EL27IRLXO66W52DA4K33L467O5J5DRX2ARZTFM6JRHDVQC
main
hardy7cc added a change on October 29, 2023
Create `pijul-interaction` crate by finchie, created on July 13, 2023
ABPFWGKH24JK7TLAGDVENTA5VSVRANPBVRD555WCQMNW56BL7SZQC
main
hardy7cc added a change on October 29, 2023
JUYSZJSHULJFR4HUJF72TEKKFMBPG4ZOGAGOJ2BX6P3D4DRZAU5QC
main
hardy7cc added a change on October 29, 2023
7UU3TV5W23QA7LLRBSBXEYPRMIVXPW4FNENEEE7ZEJYXDLXHVX4AC
main
hardy7cc added a change on October 29, 2023
Automatically format `pijul` crate by finchie, created on July 13, 2023
Y6TBQN7MFWX4SKJM2UGDGR4UMMDEO4TPNNJZKZWHEBTW7MPX4WWQC
main
hardy7cc added a change on October 29, 2023
4RV7T4SRYIQLBW3EZFWBO5G65QAVG2GHPI4KMDDZERCX65KQWSPQC
main
hardy7cc added a change on October 29, 2023
GYGLQPVXZHCXO62KMR62GBKBGB5EXIC2GYPM53LJFXRKPGBJAARQC
main
hardy7cc added a change on October 29, 2023
Create `pijul-repository` crate by finchie, created on July 14, 2023
WCA7X6W633OI72GFB4QPQKAF3POVTBB5HO2NRSVBJRO5BUJL2ORQC
main
hardy7cc added a change on October 29, 2023
ABQDWHNGSBF2REQDCGXSBFAU4RUMXYAF2KHJ5O3D32M7Z3A3FEDAC
main
hardy7cc added a change on October 29, 2023
Y2Y4OOIECVVLL5KIUVHIWJTGPADACCZZHUFGHTLSWHXS5UJ5FD4QC
main
hardy7cc added a change on October 29, 2023
JTELS6L36GEOOST2SUNCJIK5TBJDNLQWCF4IRF7QSHMMVCXSSESAC
main
hardy7cc added a change on October 29, 2023
DGHQ46S3S2RQ27CXF4OES5GDXUI63VTSYYQFLXHG7PRKSVWB3SZAC
main
hardy7cc added a change on October 29, 2023
G7HJHNFDZCGOPGVETNYK7BDDPJXHEIPGZJEJXBGBXSWPWEX3BIQQC
main
hardy7cc added a change on October 29, 2023
XX6GKS5DCDFNIEEAPY2ACYYIWMHA4BGHYUQYQIZBR6IV2OYGNDIAC
main
hardy7cc added a change on October 29, 2023
32G3GOK752NTSULBH6KYGD3ZC2YC4B2X7O73G7BT3AJVMIUIFHXQC
main
hardy7cc added a change on October 29, 2023
Solve ordering conflicts by finchie, created on August 17, 2023
O2U2JAFVBHJYU4IDC7S5L4TCLE326CYWYF2OPHKTAMDTKPLISUNQC
main
hardy7cc added a change on October 29, 2023
5Z2Y7VGVHJ7A6UPSEAPFVMIB5J7YHSI6WWHUUUYVLDJ56XSNCXKQC
main
hardy7cc added a change on October 29, 2023
Upgrade `clap` 3.2 -> 4.3 by finchie, created on August 17, 2023
5RSZPNQRUWZFLQIV64CAP4D47BHY4UCBY2R57NB2VCZ5VZF5SBGQC
main
hardy7cc added a change on October 29, 2023
Add global `no_prompt` flag by finchie, created on August 17, 2023
WTPFQPO5C3OWNOEIZQSIMAR7O6URYJJNUJSWDZUTWFDDAMNFMTLQC
main
hardy7cc added a change on October 29, 2023
Create `pijul-identity` crate by finchie, created on August 17, 2023
SU3JX6SEW6MLREX6CCM4V3353YC3IQD4JOZW2KEIHYTHOI2AJKPQC
main
hardy7cc added a change on October 29, 2023
EVDH2ECTA45JYYLA2UKTDSXCUJYMPT6R3IBKX7LIXW252BELCUAAC
main
hardy7cc added a change on October 29, 2023
Create `pijul_remote` crate by finchie, created on August 17, 2023
OYN2YVPAN6L3X6HZXJI6B2GYGL2W5AXRK6CVDJRWALS5OENNB5UAC
main
hardy7cc added a change on October 29, 2023
3OPNBBAUOQ4AAENJ7YI7TCAQ5ZUVNMDPD2AN2KTL3KTOW5A2V6BAC
main
hardy7cc added a change on October 29, 2023
Follow up extraction of pijul-config created on September 6, 2023
IQJC5BWGJZB7WU3RYAD3LXBLSEPVBK7ECHEC53Z5ESZXXDMC4XBAC
hardy7cc added a change on October 29, 2023
3P57JRBWA3BSYH33A6TJU55PA2R3TWN5FPGONYPZYYRY5TNNSDKQC
hardy7cc added a change on October 29, 2023
Y6EBNUOTVJTMMQJNFZZ65LHHHR43YBUS4SHZOZB6Y7CLYNDA2HMQC
hardy7cc added a change on October 29, 2023
3KALJ7BC5UCAFIZI6AN7Q3T4V7A3UCVEHJLYPONXG6W3TOG6YXJAC
hardy7cc on October 29, 2023

This is a first iteration on the basic points listed above.

Some of the changes do depend on the discussions/804 changes which I assumed to be a reasonable way forward (should still be reviewed there).