Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
e04c0ad
Merge branch 'ps/reflog-migrate-fixes' into maint-2.51
gitster Oct 15, 2025
1e2e74d
Merge branch 'dl/push-missing-object-error' into maint-2.51
gitster Oct 15, 2025
0949f24
Merge branch 'en/ort-rename-fixes' into maint-2.51
gitster Oct 15, 2025
2dad35f
Merge branch 'jc/diff-no-index-in-subdir' into maint-2.51
gitster Oct 15, 2025
77f8e10
Merge branch 'ly/diff-name-only-with-diff-from-content' into maint-2.51
gitster Oct 15, 2025
bb5cdab
Merge branch 'jk/fetch-check-graph-objects-fix' into maint-2.51
gitster Oct 15, 2025
03a3c40
Merge branch 'ds/path-walk-repack-fix' into maint-2.51
gitster Oct 15, 2025
7614e41
Merge branch 'ds/midx-write-fixes' into maint-2.51
gitster Oct 15, 2025
caba7e3
Merge branch 'ps/upload-pack-oom-protection' into maint-2.51
gitster Oct 15, 2025
f06ea7c
Merge branch 'sg/line-log-boundary-fixes' into maint-2.51
gitster Oct 15, 2025
b3c96ce
Merge branch 'jk/add-i-color' into maint-2.51
gitster Oct 15, 2025
ac57c87
Merge branch 'pw/rebase-i-cleanup-fix' into maint-2.51
gitster Oct 15, 2025
ff8ef0f
Merge branch 'kn/refs-files-case-insensitive' into maint-2.51
gitster Oct 15, 2025
9740baa
Merge branch 'kh/doc-git-log-markup-fix' into maint-2.51
gitster Oct 15, 2025
b168cbd
Merge branch 'rj/t6137-cygwin-fix' into maint-2.51
gitster Oct 15, 2025
9c22d96
Merge branch 'kr/clone-synopsis-fix' into maint-2.51
gitster Oct 15, 2025
51195bd
Merge branch 'js/doc-sending-patch-via-thunderbird' into maint-2.51
gitster Oct 15, 2025
f07b97a
Merge branch 'km/alias-doc-markup-fix' into maint-2.51
gitster Oct 15, 2025
2d9f2dc
Merge branch 'kh/doc-markup-fixes' into maint-2.51
gitster Oct 15, 2025
6d1f485
Merge branch 'rs/object-name-extend-abbrev-len-update' into maint-2.51
gitster Oct 15, 2025
2ab0f47
Merge branch 'mm/worktree-doc-typofix' into maint-2.51
gitster Oct 15, 2025
e0a4669
Merge branch 'jc/doc-includeif-hasconfig-remote-url-fix' into maint-2.51
gitster Oct 15, 2025
2a33cd6
Merge branch 'ag/doc-sendmail-gmail-example-update' into maint-2.51
gitster Oct 15, 2025
88ad76c
Merge branch 'ps/odb-clean-stale-wrappers' into maint-2.51
gitster Oct 15, 2025
d204057
Merge branch 'mh/doc-credential-url-prefix' into maint-2.51
gitster Oct 15, 2025
92043e9
Merge branch 'en/doc-merge-tree-describe-merge-base' into maint-2.51
gitster Oct 15, 2025
554e474
Merge branch 'ja/doc-markup-attached-paragraph-fix' into maint-2.51
gitster Oct 15, 2025
ae8ea7c
Merge branch 'kh/doc-patch-id-markup-fix' into maint-2.51
gitster Oct 15, 2025
81f86aa
Git 2.51.1
gitster Oct 15, 2025
143f58e
Sync with Git 2.51.1
gitster Oct 15, 2025
85abbfc
doc: git-pull: move <repository> and <refspec> params
jvns Oct 15, 2025
59b28f9
doc: git-pull: clarify options for integrating remote branch
jvns Oct 15, 2025
d8942ac
doc: git-pull: delete the example
jvns Oct 15, 2025
e9d221b
doc: git-pull: clarify how to exit a conflicted merge
jvns Oct 15, 2025
0c4f134
t2401: update path checks using test_path helpers
Solobarine Oct 15, 2025
d014fb2
build(deps): bump actions/download-artifact from 4 to 5
dscho Oct 16, 2025
63541ed
build(deps): bump actions/checkout from 4 to 5
dscho Oct 16, 2025
b195b95
build(deps): bump actions/setup-python from 5 to 6
dscho Oct 16, 2025
96978d7
build(deps): bump actions/github-script from 7 to 8
dscho Oct 16, 2025
4253630
RelNotes: sync with Git 2.51.1 fixups
LemmingAvalanche Oct 16, 2025
20b4eed
builtin/repack.c: avoid "the_repository" in `cmd_repack()`
ttaylorr Oct 15, 2025
df3a499
builtin/repack.c: avoid "the_repository" in existing packs API
ttaylorr Oct 15, 2025
94d99de
builtin/repack.c: avoid "the_repository" when taking a ref snapshot
ttaylorr Oct 15, 2025
0301574
builtin/repack.c: avoid "the_repository" when removing packs
ttaylorr Oct 15, 2025
cae9e2a
builtin/repack.c: avoid "the_repository" when repacking promisor objects
ttaylorr Oct 15, 2025
3758052
builtin/repack.c: avoid "the_hash_algo" when deleting packs
ttaylorr Oct 15, 2025
9a53583
builtin/repack.c: avoid "the_hash_algo" in `write_oid()`
ttaylorr Oct 15, 2025
a7a5a60
builtin/repack: avoid "the_hash_algo" in `repack_promisor_objects()`
ttaylorr Oct 15, 2025
c660b0d
builtin/repack.c: avoid "the_hash_algo" in `finish_pack_objects_cmd()`
ttaylorr Oct 15, 2025
8a5d4bd
builtin/repack.c: avoid using `hash_to_hex()` in pack geometry
ttaylorr Oct 15, 2025
c7a1207
repack: introduce new compilation unit
ttaylorr Oct 15, 2025
19f6e8d
builtin/repack.c: pass both pack_objects args to repack_config
ttaylorr Oct 15, 2025
e35ef71
repack: move 'delta_base_offset' to 'struct pack_objects_args'
ttaylorr Oct 15, 2025
7005d25
repack: remove 'prepare_pack_objects' from the builtin
ttaylorr Oct 15, 2025
a0dcecb
builtin/repack.c: rename many 'struct existing_packs' functions
ttaylorr Oct 15, 2025
f905f49
repack: remove 'remove_redundant_pack' from the builtin
ttaylorr Oct 15, 2025
9574e8f
builtin/repack.c: pass "packdir" when removing packs
ttaylorr Oct 15, 2025
dab24e4
builtin/repack.c: avoid unnecessary numeric casts in existing_packs
ttaylorr Oct 15, 2025
7d1f442
repack: remove 'existing_packs' API from the builtin
ttaylorr Oct 15, 2025
2b72c12
builtin/repack.c: rename "struct generated_pack_data"
ttaylorr Oct 15, 2025
c042769
builtin/repack.c: factor out "generated_pack_install"
ttaylorr Oct 15, 2025
184f0ab
builtin/repack.c: pass "packtmp" to `generated_pack_populate()`
ttaylorr Oct 15, 2025
7036d13
builtin/repack.c: provide pack locations to `generated_pack_install()`
ttaylorr Oct 15, 2025
f053ab6
repack: remove 'generated_pack' API from the builtin
ttaylorr Oct 15, 2025
bebf941
builtin/repack.c: pass "packtmp" to `repack_promisor_objects()`
ttaylorr Oct 15, 2025
29e9355
builtin/repack.c: remove "repack_promisor_objects()" from the builtin
ttaylorr Oct 15, 2025
e05c2d5
builtin/repack.c: rename various pack_geometry functions
ttaylorr Oct 15, 2025
2a15a73
builtin/repack.c: pass 'pack_kept_objects' to `pack_geometry_init()`
ttaylorr Oct 15, 2025
b2ebeed
builtin/repack.c: pass 'packdir' to `pack_geometry_remove_redundant()`
ttaylorr Oct 15, 2025
62d3fa0
repack: remove pack_geometry API from the builtin
ttaylorr Oct 15, 2025
ccb7f82
builtin/repack.c: remove ref snapshotting from builtin
ttaylorr Oct 15, 2025
e6b0907
builtin/repack.c: extract opts struct for 'write_midx_included_packs()'
ttaylorr Oct 15, 2025
c3690c9
builtin/repack.c: use a string_list for 'midx_pack_names'
ttaylorr Oct 15, 2025
2fee63a
repack: keep track of MIDX pack names using existing_packs
ttaylorr Oct 15, 2025
42088e3
builtin/repack.c: reorder `remove_redundant_bitmaps()`
ttaylorr Oct 15, 2025
337baea
builtin/repack.c: inline `remove_redundant_bitmaps()`
ttaylorr Oct 15, 2025
f07263f
builtin/repack.c: pass `repack_write_midx_opts` to `midx_included_packs`
ttaylorr Oct 15, 2025
f177574
builtin/repack.c: inline packs within `write_midx_included_packs()`
ttaylorr Oct 15, 2025
6d05eb1
repack: 'write_midx_included_packs' API from the builtin
ttaylorr Oct 15, 2025
7a9c81a
builtin/repack.c: introduce `struct write_pack_opts`
ttaylorr Oct 15, 2025
3d2ac20
builtin/repack.c: use `write_pack_opts` within `write_cruft_pack()`
ttaylorr Oct 15, 2025
98fa0d5
repack: move `find_pack_prefix()` out of the builtin
ttaylorr Oct 15, 2025
2f79c79
repack: extract `write_pack_opts_is_local()`
ttaylorr Oct 15, 2025
80db3cd
builtin/repack.c: pass `write_pack_opts` to `finish_pack_objects_cmd()`
ttaylorr Oct 15, 2025
fa0787a
repack: move `finish_pack_objects_cmd()` out of the builtin
ttaylorr Oct 15, 2025
d278970
repack: move `pack_kept_objects` to `struct pack_objects_args`
ttaylorr Oct 15, 2025
7ac4231
repack: move `write_filtered_pack()` out of the builtin
ttaylorr Oct 15, 2025
09797bd
repack: move `write_cruft_pack()` out of the builtin
ttaylorr Oct 15, 2025
935ab44
builtin/repack.c: clean up unused `#include`s
ttaylorr Oct 15, 2025
4fa0e4d
doc: remembering-renames.adoc: fix asciidoc warnings
ramsay-jones Oct 16, 2025
45e8b7c
doc: sparse-checkout.adoc: fix asciidoc warnings
ramsay-jones Oct 16, 2025
b770ed9
doc: commit-graph.adoc: fix up some formatting
ramsay-jones Oct 16, 2025
1c1fc86
doc: add large-object-promisors.adoc to the docs build
ramsay-jones Oct 16, 2025
057a94f
Merge branch 'tb/incremental-midx-part-3.1' into ps/remove-packfile-s…
gitster Oct 16, 2025
181acc5
object-name: convert to use `packfile_store_get_all_packs()`
pks-t Oct 9, 2025
07fbf2b
builtin/gc: convert to use `packfile_store_get_all_packs()`
pks-t Oct 9, 2025
fdebc5d
builtin/grep: simplify how we preload packs
pks-t Oct 9, 2025
5b410c8
packfile: drop `packfile_store_get_packs()`
pks-t Oct 9, 2025
86d8c62
packfile: introduce macro to iterate through packs
pks-t Oct 9, 2025
ecad863
packfile: rename `packfile_store_get_all_packs()`
pks-t Oct 9, 2025
1e0a3e8
Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-…
gitster Oct 17, 2025
623f7af
diff: restore redirection to /dev/null for diff_from_contents
peff Oct 17, 2025
282a968
Merge branch 'en/make-libgit-a'
gitster Oct 17, 2025
cd6c082
Merge branch 'rs/add-patch-options-fix'
gitster Oct 17, 2025
ab44704
Merge branch 'tb/doc-submitting-patches'
gitster Oct 17, 2025
e0fe914
Merge branch 'jk/diff-no-index-with-pathspec-fix'
gitster Oct 17, 2025
f229982
The twentieth batch
gitster Oct 17, 2025
50927f4
status: make coloring of "-z --short" consistent
peff Oct 17, 2025
91e6a64
t7500: fix tests with absolute path following ":(optional)" on Windows
j6t Oct 20, 2025
c32aa72
sparse-index: improve advice message instructions
derrickstolee Oct 20, 2025
c568fa8
completion: complete some 'git log' options
FKbelm Oct 20, 2025
9b8ff6d
contrib/credential: harmonize Makefiles
uhle Oct 20, 2025
29b0700
Merge branch 'dk/stash-apply-index'
gitster Oct 20, 2025
fc00bf0
Merge branch 'js/mingw-includes-cleanup'
gitster Oct 20, 2025
5a34f66
Merge branch 'js/unreachable-workaround-for-no-symlink-head'
gitster Oct 20, 2025
a23c825
Merge branch 'kh/doc-continued-paragraph-fix'
gitster Oct 20, 2025
8329f67
Merge branch 'tb/cat-file-objectmode-update'
gitster Oct 20, 2025
133d151
The twenty-first batch
gitster Oct 20, 2025
330a540
unicode: update the width tables to Unicode 17
tboegi Oct 21, 2025
8bca1c5
Merge branch 'tb/incremental-midx-part-3.1' into ps/maintenance-geome…
gitster Oct 21, 2025
301e20d
add-patch: fully document option P
rscharfe Oct 21, 2025
026ad60
builtin/repo: rename repo_info() to cmd_repo_info()
jltobler Oct 21, 2025
eafc03d
ref-filter: allow NULL filter pattern
jltobler Oct 21, 2025
6d1997f
ref-filter: export ref_kind_from_refname()
jltobler Oct 21, 2025
bbb2b93
builtin/repo: introduce structure subcommand
jltobler Oct 21, 2025
eb5cf58
builtin/repo: add object counts in structure output
jltobler Oct 21, 2025
1721567
builtin/repo: add keyvalue and nul format for structure stats
jltobler Oct 21, 2025
16a93c0
builtin/repo: add progress meter for structure stats
jltobler Oct 21, 2025
fafdf23
commit-graph: add new config for changed-paths & recommend it in scalar
emilyyang-ms Oct 17, 2025
2bb3a01
bisect: fix handling of `help` and invalid subcommands
ZhongRuoyu Oct 22, 2025
c9ccf81
Merge branch 'js/ci-github-actions-update'
gitster Oct 22, 2025
98401c1
Merge branch 'bc/sha1-256-interop-01'
gitster Oct 22, 2025
0e74643
Merge branch 'je/doc-pull'
gitster Oct 22, 2025
f3fac33
Merge branch 'so/t2401-use-test-path-helpers'
gitster Oct 22, 2025
c54a18e
The twenty-second batch
gitster Oct 22, 2025
45b5ae6
Merge branch 'jk/diff-from-contents-fix' into ly/diff-name-only-with-…
gitster Oct 22, 2025
3da4413
diff: make sure the other caller of diff_flush_patch_quietly() is silent
gitster Oct 22, 2025
0adac32
Merge branch 'jc/diff-from-contents-fix' into ly/diff-name-only-with-…
gitster Oct 23, 2025
3ed5d8b
diff: stop output garbled message in dry run mode
brandb97 Oct 19, 2025
bee1bdd
gpg-interface: do not use misdesigned strbuf_split*()
cloobTech Oct 23, 2025
2ab72a1
gpg-interface: do not use misdesigned strbuf_split*()
cloobTech Oct 23, 2025
b7fb219
t7528: work around ETOOMANY in OpenSSH 10.1 and newer
pks-t Oct 23, 2025
88b3704
Merge branch 'jk/diff-from-contents-fix'
gitster Oct 24, 2025
5139fce
Merge branch 'jc/diff-from-contents-fix'
gitster Oct 24, 2025
1d10771
The twenty-third batch
gitster Oct 24, 2025
134ec33
commit-reach: avoid commit_list_insert_by_date()
rscharfe Oct 24, 2025
a7f01ac
Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-…
gitster Oct 24, 2025
57c2b6c
diff: send external diff output to diff_options.file
peff Oct 24, 2025
0152831
diff: drop save/restore of color_moved in dry-run mode
peff Oct 24, 2025
b2b5ad5
diff: replace diff_options.dry_run flag with NULL file
peff Oct 24, 2025
1ad2760
diff: drop dry-run redirection to /dev/null
peff Oct 24, 2025
2ecb885
diff: simplify run_external_diff() quiet logic
peff Oct 24, 2025
0ea94b0
builtin/gc: remove global `repack` variable
pks-t Oct 24, 2025
60c0af8
builtin/gc: make `too_many_loose_objects()` reusable without GC config
pks-t Oct 24, 2025
9bc1518
builtin/maintenance: introduce "geometric-repack" task
pks-t Oct 24, 2025
5c2ad50
builtin/maintenance: make the geometric factor configurable
pks-t Oct 24, 2025
d465be2
builtin/maintenance: don't silently ignore invalid strategy
pks-t Oct 24, 2025
e83e92e
builtin/maintenance: improve readability of strategies
pks-t Oct 24, 2025
6a7d3ee
builtin/maintenance: run maintenance tasks depending on type
pks-t Oct 24, 2025
0e994d9
builtin/maintenance: extend "maintenance.strategy" to manual maintenance
pks-t Oct 24, 2025
40a7415
builtin/maintenance: make "gc" strategy accessible
pks-t Oct 24, 2025
d9bccf2
builtin/maintenance: introduce "geometric" strategy
pks-t Oct 24, 2025
411903c
Merge branch 'rj/doc-technical-fixes'
gitster Oct 24, 2025
385772e
Merge branch 'js/t7500-pwd-windows-fix'
gitster Oct 24, 2025
e7909b3
Merge branch 'jk/status-z-short-fix'
gitster Oct 24, 2025
4273758
Merge branch 'tu/credential-makefile-updates'
gitster Oct 24, 2025
503789c
Merge branch 'tb/unicode-width-table-17'
gitster Oct 24, 2025
78bf9ce
Merge branch 'jc/t1016-setup-fix'
gitster Oct 24, 2025
7d763b9
Merge branch 'rs/add-patch-document-p-for-pager'
gitster Oct 24, 2025
52b56e8
Merge branch 'ps/t7528-ssh-agent-uds-workaround'
gitster Oct 24, 2025
4e98b73
The twenty-fourth batch
gitster Oct 24, 2025
1376811
add-patch: quit without skipping undecided hunks
rscharfe Oct 25, 2025
595be20
contrib/credential: add install target
uhle Oct 25, 2025
9d6c580
match_pathname(): reorder prefix-match check
peff Oct 26, 2025
1940a02
match_pathname(): give fnmatch one char of prefix context
peff Oct 26, 2025
e56f6dc
add-patch: quit on EOF
rscharfe Oct 25, 2025
e56c419
Merge branch 'jk/diff-from-contents-fix' into maint-2.51
gitster Oct 27, 2025
306eb9a
Merge branch 'jc/diff-from-contents-fix' into maint-2.51
gitster Oct 27, 2025
70b475f
Merge branch 'ps/gitlab-ci-disable-windows-monitoring' into maint-2.51
gitster Oct 27, 2025
2319fba
Merge branch 'jk/diff-no-index-with-pathspec-fix' into maint-2.51
gitster Oct 27, 2025
3d638cb
Merge branch 'jk/status-z-short-fix' into maint-2.51
gitster Oct 27, 2025
2ad0fc2
Merge branch 'tb/unicode-width-table-17' into maint-2.51
gitster Oct 27, 2025
ed931eb
Merge branch 'ps/t7528-ssh-agent-uds-workaround' into maint-2.51
gitster Oct 27, 2025
4b67e53
Merge branch 'js/unreachable-workaround-for-no-symlink-head' into mai…
gitster Oct 27, 2025
3b9055c
Merge branch 'kh/doc-continued-paragraph-fix' into maint-2.51
gitster Oct 27, 2025
476b240
Merge branch 'js/ci-github-actions-update' into maint-2.51
gitster Oct 27, 2025
b42b995
Merge branch 'so/t2401-use-test-path-helpers' into maint-2.51
gitster Oct 27, 2025
bb5c624
Git 2.51.2
gitster Oct 27, 2025
419c72c
Sync with Git 2.51.2
gitster Oct 27, 2025
6661cde
refs: add missing remove_on_disk implementation for debug backend
RuanXinyu Oct 24, 2025
29181ab
MyFirstContribution: add note on confirming patches
QueenJcloud Oct 27, 2025
a426557
t7900: fix a flaky test due to git-repack always regenerating MIDX
pks-t Oct 27, 2025
54ac380
Merge branch 'ds/sparse-checkout-clean'
gitster Oct 28, 2025
3deb97f
Merge branch 'cc/fast-import-strip-signed-tags'
gitster Oct 28, 2025
fe95c55
Merge branch 'ps/ci-rust'
gitster Oct 28, 2025
57da342
The 25th batch
gitster Oct 28, 2025
d24220b
doc: git-checkout: fix placeholder markup
LemmingAvalanche Oct 28, 2025
bb42dc9
bisect: update usage and docs to match each other
ZhongRuoyu Oct 28, 2025
f711f37
t1016-compatObjectFormat: really freeze time for reproduciblity
ebiederm Oct 28, 2025
8a6d158
doc: document backslash in gitignore patterns
peff Oct 29, 2025
85333aa
test-tool: fix leak in delete-gpgsig command
peff Oct 29, 2025
c1b23bd
Merge branch 'tb/incremental-midx-part-3.1'
gitster Oct 29, 2025
dc70283
The 26th batch
gitster Oct 29, 2025
ee74c5b
gpg-interface: simplify ssh fingerprint parsing
chriscool Oct 30, 2025
2d7cc86
gpg-interface: use left shift to define GPG_VERIFY_*
chriscool Oct 30, 2025
d53287b
fast-export: mark strings for translation
chriscool Oct 30, 2025
c295115
fast-import: mark strings for translation
chriscool Oct 30, 2025
93cef5b
gpg-interface: mark a string for translation
chriscool Oct 30, 2025
923436e
Merge branch 'ey/commit-graph-changed-paths-config'
gitster Oct 30, 2025
48d0b65
Merge branch 'ps/symlink-symref-deprecation'
gitster Oct 30, 2025
c43d4cf
Merge branch 'ob/gpg-interface-cleanup'
gitster Oct 30, 2025
5554738
Merge branch 'ps/remove-packfile-store-get-packs'
gitster Oct 30, 2025
27a1735
Merge branch 'ly/diff-name-only-with-diff-from-content'
gitster Oct 30, 2025
ee335b9
Merge branch 'kf/log-shortlog-completion-fix'
gitster Oct 30, 2025
be414e1
Merge branch 'rz/bisect-help-unknown'
gitster Oct 30, 2025
a99f379
The 27th batch
gitster Oct 30, 2025
18a7988
Merge branch 'rs/add-patch-quit'
gitster Nov 3, 2025
ecf2f52
Merge branch 'kh/doc-patch-id-1'
gitster Nov 3, 2025
5236467
Merge branch 'jk/match-pathname-fix'
gitster Nov 3, 2025
3cf3369
Merge branch 'ps/maintenance-geometric'
gitster Nov 3, 2025
249b0d3
Merge branch 'jk/diff-patch-dry-run-cleanup'
gitster Nov 3, 2025
a4b1a14
Merge branch 'rs/merge-base-optim'
gitster Nov 3, 2025
7f278e9
Git 2.52-rc0
gitster Nov 3, 2025
3012e5b
Merge branch 'cc/doc-submitting-patches-with-ai'
gitster Nov 4, 2025
1750483
Merge branch 'tu/credential-install'
gitster Nov 4, 2025
a9db6c6
Merge branch 'jt/repo-structure'
gitster Nov 4, 2025
8f0d663
Merge branch 'tz/test-prepare-gnupghome'
gitster Nov 4, 2025
aa61d1f
Merge branch 'qj/doc-my1stcontrib-email-verify'
gitster Nov 4, 2025
5179642
Merge branch 'xr/ref-debug-remove-on-disk'
gitster Nov 4, 2025
a82fd50
Merge branch 'kh/doc-checkout-markup-fix'
gitster Nov 4, 2025
55e8615
Merge branch 'eb/t1016-hash-transition-fix'
gitster Nov 4, 2025
377e8e2
Merge branch 'jk/test-delete-gpgsig-leakfix'
gitster Nov 4, 2025
5931b6b
Merge branch 'jk/doc-backslash-in-exclude'
gitster Nov 4, 2025
4cf919b
A bit more before rc1
gitster Nov 4, 2025
aece3bc
parseopt: fix :(optional) at command line to only ignore missing files
benknoble Nov 2, 2025
2fd151a
doc: clarify command equivalence comment
benknoble Nov 2, 2025
4da5beb
parseopt: use boolean type for a simple flag
benknoble Nov 2, 2025
4dbb7f4
config: use boolean type for a simple flag
benknoble Nov 2, 2025
383e5e1
parseopt: restore const qualifier to parsed filename
benknoble Nov 2, 2025
a2584d0
parseopt: remove unreachable code
gitster Nov 4, 2025
73b9cdb
GitHub CI: macos-13 images are no more
gitster Nov 4, 2025
c8a641c
Merge branch 'rz/t0450-bisect-doc-update'
gitster Nov 5, 2025
9a18a74
Merge branch 'jc/ci-use-macos-14'
gitster Nov 5, 2025
77b7284
Git 2.52-rc1
gitster Nov 5, 2025
d9988b0
refs: add missing space in messages
nafmo Nov 5, 2025
8d71696
ci: update {download,upload}-artifact Action versions
dscho Nov 6, 2025
f58ea68
Merge branch 'pk/reflog-migrate-message-fix'
gitster Nov 6, 2025
5db9d35
Merge branch 'js/ci-github-actions-update'
gitster Nov 6, 2025
e569dce
Merge branch 'cc/fast-import-export-i18n-cleanup'
gitster Nov 6, 2025
4badef0
Merge branch 'dk/parseopt-optional-filename-fixes'
gitster Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
24 changes: 24 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
env:
CIRRUS_CLONE_DEPTH: 1

freebsd_task:
env:
GIT_PROVE_OPTS: "--timer --jobs 10"
GIT_TEST_OPTS: "--no-chain-lint --no-bin-wrappers"
GIT_SKIP_TESTS: t7815.12
MAKEFLAGS: -j4
DEFAULT_TEST_TARGET: prove
DEFAULT_UNIT_TEST_TARGET: unit-tests-prove
DEVELOPER: 1
freebsd_instance:
image_family: freebsd-14-3
memory: 2G
install_script:
pkg install -y gettext gmake perl5
create_user_script:
- pw useradd git
- chown -R git:git .
build_script:
- su git -c gmake
test_script:
- su git -c 'gmake test unit-tests'
228 changes: 228 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
# This file is an example configuration for clang-format 5.0.
#
# Note that this style definition should only be understood as a hint
# for writing new code. The rules are still work-in-progress and does
# not yet exactly match the style we have in the existing code.

# Use tabs whenever we need to fill whitespace that spans at least from one tab
# stop to the next one.
#
# These settings are mirrored in .editorconfig. Keep them in sync.
UseTab: Always
TabWidth: 8
IndentWidth: 8
ContinuationIndentWidth: 8

# While we do want to enforce a character limit of 80 characters, we often
# allow lines to overflow that limit to prioritize readability. Setting a
# character limit here with penalties has been finicky and creates too many
# false positives.
#
# NEEDSWORK: It would be nice if we can find optimal settings to ensure we
# can re-enable the limit here.
ColumnLimit: 0

# C Language specifics
Language: Cpp

# Align parameters on the open bracket
# someLongFunction(argument1,
# argument2);
AlignAfterOpenBracket: Align

# Don't align consecutive assignments
# int aaaa = 12;
# int b = 14;
AlignConsecutiveAssignments: false

# Don't align consecutive declarations
# int aaaa = 12;
# double b = 3.14;
AlignConsecutiveDeclarations: false

# Align consecutive macro definitions.
AlignConsecutiveMacros: true

# Align escaped newlines as far left as possible
# #define A \
# int aaaa; \
# int b; \
# int cccccccc;
AlignEscapedNewlines: Left

# Align operands of binary and ternary expressions
# int aaa = bbbbbbbbbbb +
# cccccc;
AlignOperands: true

# Don't align trailing comments
# int a; // Comment a
# int b = 2; // Comment b
AlignTrailingComments: false

# By default don't allow putting parameters onto the next line
# myFunction(foo, bar, baz);
AllowAllParametersOfDeclarationOnNextLine: false

# Don't allow short braced statements to be on a single line
# if (a) not if (a) return;
# return;
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false

# By default don't add a line break after the return type of top-level functions
# int foo();
AlwaysBreakAfterReturnType: None

# Pack as many parameters or arguments onto the same line as possible
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
# int cccc);
BinPackArguments: true
BinPackParameters: true

# Add no space around the bit field
# unsigned bf:2;
BitFieldColonSpacing: None

# Attach braces to surrounding context except break before braces on function
# definitions.
# void foo()
# {
# if (true) {
# } else {
# }
# };
BreakBeforeBraces: Linux

# Break after operators
# int value = aaaaaaaaaaaaa +
# bbbbbb -
# ccccccccccc;
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: false

# Don't break string literals
BreakStringLiterals: false

# Use the same indentation level as for the switch statement.
# Switch statement body is always indented one level more than case labels.
IndentCaseLabels: false

# Indents directives before the hash. Each level uses a single space for
# indentation.
# #if FOO
# # include <foo>
# #endif
IndentPPDirectives: AfterHash
PPIndentWidth: 1

# Don't indent a function definition or declaration if it is wrapped after the
# type
IndentWrappedFunctionNames: false

# Align pointer to the right
# int *a;
PointerAlignment: Right

# Don't insert a space after a cast
# x = (int32)y; not x = (int32) y;
SpaceAfterCStyleCast: false

# No space is inserted after the logical not operator
SpaceAfterLogicalNot: false

# Insert spaces before and after assignment operators
# int a = 5; not int a=5;
# a += 42; a+=42;
SpaceBeforeAssignmentOperators: true

# Spaces will be removed before case colon.
# case 1: break; not case 1 : break;
SpaceBeforeCaseColon: false

# Put a space before opening parentheses only after control statement keywords.
# void f() {
# if (true) {
# f();
# }
# }
SpaceBeforeParens: ControlStatementsExceptControlMacros

# Don't insert spaces inside empty '()'
SpaceInEmptyParentheses: false

# No space before first '[' in arrays
# int a[5][5]; not int a [5][5];
SpaceBeforeSquareBrackets: false

# No space will be inserted into {}
# while (true) {} not while (true) { }
SpaceInEmptyBlock: false

# The number of spaces before trailing line comments (// - comments).
# This does not affect trailing block comments (/* - comments).
SpacesBeforeTrailingComments: 1

# Don't insert spaces in casts
# x = (int32) y; not x = ( int32 ) y;
SpacesInCStyleCastParentheses: false

# Don't insert spaces inside container literals
# var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ];
SpacesInContainerLiterals: false

# Don't insert spaces after '(' or before ')'
# f(arg); not f( arg );
SpacesInParentheses: false

# Don't insert spaces after '[' or before ']'
# int a[5]; not int a[ 5 ];
SpacesInSquareBrackets: false

# Insert a space after '{' and before '}' in struct initializers
Cpp11BracedListStyle: false

# A list of macros that should be interpreted as foreach loops instead of as
# function calls. Taken from:
# git grep -h '^#define [^[:space:]]*for_\?each[^[:space:]]*(' |
# sed "s/^#define / - '/; s/(.*$/'/" | sort | uniq
ForEachMacros:
- 'for_each_builtin'
- 'for_each_string_list_item'
- 'for_each_ut'
- 'for_each_wanted_builtin'
- 'hashmap_for_each_entry'
- 'hashmap_for_each_entry_from'
- 'kh_foreach'
- 'kh_foreach_value'
- 'list_for_each'
- 'list_for_each_dir'
- 'list_for_each_prev'
- 'list_for_each_prev_safe'
- 'list_for_each_safe'
- 'strintmap_for_each_entry'
- 'strmap_for_each_entry'
- 'strset_for_each_entry'

# A list of macros that should be interpreted as conditionals instead of as
# function calls.
IfMacros:
- 'if_test'

# The maximum number of consecutive empty lines to keep.
MaxEmptyLinesToKeep: 1

# No empty line at the start of a block.
KeepEmptyLinesAtTheStartOfBlocks: false

# Don't sort #include's
SortIncludes: false

# Remove optional braces of control statements (if, else, for, and while)
# according to the LLVM coding style. This avoids braces on simple
# single-statement bodies of statements but keeps braces if one side of
# if/else if/.../else cascade has multi-statement body.
RemoveBracesLLVM: true
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[*]
charset = utf-8
insert_final_newline = true

# The settings for C (*.c and *.h) files are mirrored in .clang-format. Keep
# them in sync.
[{*.{c,h,sh,bash,perl,pl,pm,txt,adoc},config.mak.*,Makefile}]
indent_style = tab
tab_width = 8

[*.py]
indent_style = space
indent_size = 4

[COMMIT_EDITMSG]
max_line_length = 72
24 changes: 17 additions & 7 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
* whitespace=!indent,trail,space
*.[ch] whitespace=indent,trail,space diff=cpp
*.sh whitespace=indent,trail,space eol=lf
*.perl eol=lf
*.pm eol=lf
/Documentation/git-*.txt eol=lf
/command-list.txt eol=lf
/GIT-VERSION-GEN eol=lf
/mergetools/* eol=lf
*.sh whitespace=indent,trail,space text eol=lf
*.perl text eol=lf diff=perl
*.pl text eof=lf diff=perl
*.pm text eol=lf diff=perl
*.py text eol=lf diff=python
*.bat text eol=crlf
CODE_OF_CONDUCT.md -whitespace
/Documentation/**/*.adoc text eol=lf
/command-list.txt text eol=lf
/GIT-VERSION-GEN text eol=lf
/mergetools/* text eol=lf
/t/oid-info/* text eol=lf
/Documentation/git-merge.adoc conflict-marker-size=32
/Documentation/git-merge-file.adoc conflict-marker-size=32
/Documentation/gitk.adoc conflict-marker-size=32
/Documentation/user-manual.adoc conflict-marker-size=32
/t/t????-*.sh conflict-marker-size=32
5 changes: 4 additions & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Git community does not use github.com for their contributions. Instead, we use
a mailing list ([email protected]) for code submissions, code
reviews, and bug reports.

Nevertheless, you can use [submitGit](http://submitgit.herokuapp.com/) to
Nevertheless, you can use [GitGitGadget](https://gitgitgadget.github.io/) to
conveniently send your Pull Requests commits to our mailing list.

Please read ["A note from the maintainer"](https://git.kernel.org/pub/scm/git/git.git/plain/MaintNotes?h=todo)
Expand All @@ -16,4 +16,7 @@ If you prefer video, then [this talk](https://www.youtube.com/watch?v=Q7i_qQW__q
might be useful to you as the presenter walks you through the contribution
process by example.

Or, you can follow the ["My First Contribution"](https://git-scm.com/docs/MyFirstContribution)
tutorial for another example of the contribution process.

Your friendly Git community!
7 changes: 5 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
Thanks for taking the time to contribute to Git! Please be advised that the
Git community does not use github.com for their contributions. Instead, we use
a mailing list ([email protected]) for code submissions, code reviews, and
bug reports. Nevertheless, you can use submitGit to conveniently send your Pull
Requests commits to our mailing list.
bug reports. Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/)
to conveniently send your Pull Requests commits to our mailing list.

For a single-commit pull request, please *leave the pull request description
empty*: your commit message itself should describe your changes.

Please read the "guidelines for contributing" linked above!
34 changes: 34 additions & 0 deletions .github/workflows/check-style.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: check-style

# Get the repository with all commits to ensure that we can analyze
# all of the commits contributed via the Pull Request.

on:
pull_request:
types: [opened, synchronize]

# Avoid unnecessary builds. Unlike the main CI jobs, these are not
# ci-configurable (but could be).
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-style:
env:
CC: clang
jobname: ClangFormat
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0

- run: ci/install-dependencies.sh

- name: git clang-format
continue-on-error: true
id: check_out
run: |
./ci/run-style-check.sh \
"${{github.event.pull_request.base.sha}}"
32 changes: 32 additions & 0 deletions .github/workflows/check-whitespace.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: check-whitespace

# Get the repository with all commits to ensure that we can analyze
# all of the commits contributed via the Pull Request.
# Process `git log --check` output to extract just the check errors.
# Exit with failure upon white-space issues.

on:
pull_request:
types: [opened, synchronize]

# Avoid unnecessary builds. Unlike the main CI jobs, these are not
# ci-configurable (but could be).
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
check-whitespace:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: git log --check
id: check_out
run: |
./ci/check-whitespace.sh \
"${{github.event.pull_request.base.sha}}" \
"$GITHUB_STEP_SUMMARY" \
"https://github.com/${{github.repository}}"
Loading