Commit Graph

16320 Commits

Author SHA1 Message Date
Edward Thomson
896c1e933c signature: allow empty email addresses
git allows empty email addresses; we should, too.
2026-06-06 13:44:58 +01:00
Edward Thomson
5e4dcabe75 Merge pull request #7281 from AHSauge/feature/revwalk-path
revwalk: Add option to filter based on pathspec
2026-06-06 12:11:09 +01:00
Alf Henrik Sauge
f6508bc525 Add option to filter revwalk based on pathspec
This is required in order to later on accelerate the walk by using bloom filters
2026-06-06 11:00:26 +02:00
Edward Thomson
74e9a78d43 ci: only publish documentation on the main repo
Don't try to publish documentation updates on random forks.
2026-06-06 09:18:25 +01:00
Edward Thomson
9c9e358a6e Merge pull request #7271 from AHSauge/feature/skip-generation-v2
Add support for reading newer commit graphs by skip reading GDA2/GDO2
2026-06-06 08:33:18 +01:00
Edward Thomson
b260fee24a Merge branch 'pr/7265' 2026-06-01 23:40:56 +01:00
Edward Thomson
72d4157dff repo: simplify safe.directory checks
Use some standard libgit2 utility functions.
2026-06-01 23:40:38 +01:00
Edward Thomson
2eed889d8a repo: improve wildcard safe.directory tests 2026-06-01 23:40:34 +01:00
Edward Thomson
59bf3622d2 Merge pull request #7259 from libgit2/ethomson/commi_create
CLI: commit command
2026-06-01 22:55:53 +01:00
Edward Thomson
477115fc8f Merge pull request #7123 from DanConwayDev/download-assume-serve-oid
fix: `git_remote_download` assumes oid capability
2026-06-01 22:35:38 +01:00
Edward Thomson
d3b3049a63 Merge pull request #7278 from libgit2/ethomson/pcre2
Update our builtin regex dependency to PCRE2
2026-06-01 22:34:41 +01:00
Edward Thomson
37dca28e7e cli: introduce a commit command 2026-06-01 22:15:47 +01:00
Edward Thomson
ca77af7a9a cli: update opt parsing to allow optional values 2026-06-01 22:15:47 +01:00
Edward Thomson
59abaf51e1 cli: add a CLI_ASSERT macro
`GIT_ASSERT` is not necessarily useful for the CLI; we need something
that prints to stderr and exits.
2026-06-01 22:15:47 +01:00
Edward Thomson
0239d68bb2 process: allow NULL options
The process options structure should be allowed to be `NULL`; treated as
if it's empty.
2026-06-01 22:15:47 +01:00
Edward Thomson
353e7059dc Merge pull request #7237 from libgit2/ethomson/commit
Introduce a new commit API
2026-06-01 22:14:48 +01:00
Edward Thomson
f8823e4e11 commit: add headers and signature to create_from
The `create_from` and `amend_from` APIs use a slightly different options
structure. They should both allow extra headers and signature callbacks.
2026-06-01 21:23:59 +01:00
Edward Thomson
05c4b5cf95 commit: introduce git_commit_amend_from_...
Similar to the `git_commit_create_from_...` APIs, a simple amend
function that uses smart defaults and amends HEAD from the staged
changes or a given tree.
2026-06-01 21:23:59 +01:00
Edward Thomson
16b12ff3c5 commit: introduce git_commit_create_from_tree
Similar to the `git_commit_create_from_stage` function, a batteries-
included commit creation function that uses smart defaults and commits a
given tree.
2026-06-01 21:23:59 +01:00
Edward Thomson
096cc6f76d commit: introduce a signing callback
Callers can now introduce a commit signing callback instead of needing
to call a specialized commit buffer creation function.
2026-06-01 21:23:59 +01:00
Edward Thomson
a7786fcd7e commit: support custom user-specified headers
Some clients (eg GitButler) are storing additional information in custom
user-specified commit headers. We should make this a first-class
concept.
2026-06-01 21:23:59 +01:00
Edward Thomson
cf02e92b54 commit: introduce commit creation options
Introduce `git_commit_create_ext` and an options structure for
extensibility. Non-default arguments (message encoding, reference
updates) are in the options structure.

This simplifies the complex self-service commit creation APIs and allows
for future sustainable improvements.
2026-06-01 21:23:59 +01:00
Edward Thomson
b3e04a0def fix 2026-06-01 10:07:48 +01:00
Edward Thomson
675e8f3c6a fix 2026-06-01 10:04:58 +01:00
Edward Thomson
3bc8ffe276 regexp: update pcre2 for type safety 2026-06-01 09:55:06 +01:00
Edward Thomson
2c4789ce6d deps: update COPYING to include PCRE2 copyright notice
Remove the original PCRE copyright notice; replace it with PCRE2.
2026-06-01 09:55:06 +01:00
Edward Thomson
5022cb5f80 deps: remove old pcre dependency 2026-06-01 09:55:06 +01:00
Edward Thomson
315f8102de deps: make pcre2 the bundled regular expression engine 2026-06-01 09:55:06 +01:00
Edward Thomson
64469259a5 deps: pcre2 updates with c90 compatible syntax
Yes, the world has moved on from us.
2026-06-01 09:55:06 +01:00
Edward Thomson
993397a603 deps: pcre2 needs explicit static options 2026-06-01 09:54:57 +01:00
Edward Thomson
7842631242 deps: include pcre2
Ye olde PCRE (8.45) was end-of-lifed several years ago. For our bundled
regular expression implementation, we want to include the new,
still-maintained PCRE2 framework. Include PCRE2 v10.47.
2026-06-01 09:53:58 +01:00
Alf Henrik Sauge
2e3ec8d877 Add support for reading newer commit graphs by skip reading GDA2/GDO2
Generation number v2 is optional, so we can skip them for now and fall back to generation number v1 / topological levels.
This makes commit graphs from newer git version somewhat useful again
2026-05-31 23:55:07 +02:00
Edward Thomson
a7e1eb2638 Merge pull request #7245 from mrdimidium/main 2026-05-30 18:56:01 +01:00
Edward Thomson
8a94cd54ee Merge pull request #7277 from yonathan-ashebir/main 2026-05-30 18:53:25 +01:00
Edward Thomson
3c7234e3a0 Update filter.h 2026-05-30 18:52:36 +01:00
yoni_ash
3f1d5c1fa9 Fix a small documentation error 2026-05-29 14:52:16 +04:00
Edward Thomson
e490b18b70 Merge pull request #7157 from OlekRaymond/main
Update GIT_DIFF_OPTIONS_INIT macro
2026-05-25 22:01:06 +01:00
Edward Thomson
0808a4b650 Apply suggestion from @ethomson 2026-05-25 22:00:50 +01:00
Edward Thomson
ff7c86f87e Merge pull request #7276 from libgit2/ethomson/ci
ci: drop coverity, add sonarqube
2026-05-25 21:57:28 +01:00
Edward Thomson
43bbc31735 Merge branch 'pr/7170' 2026-05-25 21:50:30 +01:00
Edward Thomson
7723452680 build: only set _FILE_OFFSET_BITS on non-Windows
mingw is confused - https://github.com/msys2/MINGW-packages/issues/10591
2026-05-25 21:38:17 +01:00
Edward Thomson
d70e2f69ee ci: drop coverity, add sonarqube
Coverity has appeared to stop working with no status updates. Remove it.

Add SonarQube.
2026-05-25 17:55:21 +01:00
Edward Thomson
0609130af2 Merge pull request #7275 from libgit2/ethomson/regex
regex: don't test odd characters on macOS
2026-05-22 19:36:40 +01:00
Edward Thomson
9710edbd8b regex: apple's regcomp got weird with locales 2026-05-22 17:19:45 +01:00
Edward Thomson
678ba13ce7 Merge pull request #7269 from DanielEScherzer/git_commit_amend-docs
commit.h: remove stray `*` in `git_commit_amend()` docs
2026-05-22 16:28:54 +01:00
Edward Thomson
acb4abd32a Merge pull request #7274 from libgit2/ethomson/ci
examples: don't system() anything
2026-05-22 14:43:21 +01:00
Edward Thomson
766d62bc28 examples: don't system() anything 2026-05-22 14:16:15 +01:00
Edward Thomson
873ab30fe4 hashmap: correctly sized MAX 2026-05-22 11:21:37 +01:00
Daniel Scherzer
1b4eaa3309 commit.h: remove stray * in git_commit_amend() docs 2026-05-16 18:29:53 -07:00
Edward Thomson
5787752448 Merge pull request #7150 from ambv/rebase-example
feat: Add an example for the rebase API
2026-05-16 20:50:41 +01:00