Commit Graph

19 Commits

Author SHA1 Message Date
Cédric Prezelin
693e8ce0fb git: add allowedSigners option 2026-09-03 21:09:37 -05:00
Austin Horstman
a89686d115 git: avoid implicit signing config
Fixes #6630
2026-05-04 11:53:44 -05:00
Austin Horstman
30db803c98 git: support ordered settings fragments
Allow programs.git.settings to keep its existing attrset shorthand while also accepting an ordered list of fragments for repeated sections and order-sensitive config. Cover the new list form with a focused Git config snapshot test.
2026-04-23 12:13:58 -05:00
Austin Horstman
b92cad188c git: warn on signing format default change
The default value for programs.git.signing.format changed in 25.05
from an implicit "openpgp" to null. Keep the existing gated
mkOptionDefault behavior so the signing block only materializes when
other signing settings are in use, but route the versioned value and
static docs text through the shared state-version helper.

Add a focused current-state-version test that covers a non-empty
signing configuration with no explicit format, alongside the existing
legacy implicit-openpgp and explicit-format tests.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-22 11:46:51 -05:00
Léana 江
cfb3b544f9 programs.git: test git integration options assertion 2026-02-04 21:43:38 -06:00
Austin Horstman
aeabc1ac63 tests/git: add settigs deprecation test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
ac7c05a90c git: extraConfig -> settings
Remove string support and convert to rfc42 settings option

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
c80be80282 patdiff: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
4fef8e73a6 tests/git: add git-lfs test
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Austin Horstman
111329b475 difftastic: new module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-19 10:24:15 -05:00
Brian Lyles
d328666dba git: add tests for difftastic 2025-10-06 08:06:53 -05:00
Plume
2ede089d11 git: configure patdiff through [patdiff] git section (#6978)
This adds the ability to enable the patdiff program as git differ.
Website of the project: https://opensource.janestreet.com/patdiff/
2025-05-08 08:15:51 -05:00
Josh Heinrichs
42d90297b3 git: support maintenance on darwin (#6868) 2025-04-21 14:25:57 -07:00
Austin Horstman
5c5697b82a git: support not configuring signing.format (#6478) 2025-02-17 03:00:03 -08:00
Sizhe Zhao
7da01bc47a git: support alternate signing methods (#5516)
The Git module now supports SSH and X.509 signing in addition to
OpenPGP/GnuPG, via setting the `programs.git.signing.format` option.
It defaults to `openpgp` for now as a backwards compatibility measure,
but I feel like we shouldn't enforce GPG as the default on everyone,
especially for people who use SSH signing like me.

Accordingly, `programs.git.signing.gpgPath` has been renamed to
`programs.git.signing.signer`, as now the signer binary is not
restricted to GnuPG. Users should only get a warning and everything
should continue to work.

Fixes #4221, supersedes #4235

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2025-02-14 11:47:27 -07:00
Charlie Moog
340ec22f6f git: add config helper for hooks 2022-09-08 11:05:07 +02:00
Viacheslav Lotsmanov
cc60c22c69 programs.git: make signing key id be optional (#1886)
* Git: Make signing key id be optional

Thus by default the signing key is selected by commit’s author.

* Git: Add tests for config with and without signing key id
* Git: Format tests for signing key
* Git: Remove default value (null) for signing key
* Git: Update description for signing key
2021-04-05 14:28:36 +02:00
Andrew Fontaine
aa479b0124 git: rely on msmtp for smtp if msmtp is enabled (#1829)
If a user using msmtp to send all their email, it would be preferred if
git used it as well.

The only settings necessary are to set the smtp server to the msmtp
binary and set envelop sender to true, which makes git call msmtp with
the -f flag to set the from address from the email.
2021-02-28 16:06:11 +01:00
Robert Helgesson
bcfc52cb85 tests: move git and files tests to directories 2019-12-08 21:40:22 +01:00