Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PATH WALK IV: Add 'git survey' command #1821

Open
wants to merge 1,190 commits into
base: api-upstream
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1190 commits
Select commit Hold shift + click to select a range
d601aee
test-lib: use individual lsan dir for --stress runs
peff Dec 30, 2024
ca9d60f
Revert "index-pack: spawn threads atomically"
peff Dec 30, 2024
7d0037b
thread-utils: introduce optional barrier type
peff Dec 30, 2024
526c0a8
index-pack: work around LSan threading race with barrier
peff Dec 30, 2024
7a8d9ef
grep: work around LSan threading race with barrier
peff Dec 30, 2024
0ad3d65
object-file: fix race in object collision check
pks-t Dec 30, 2024
9218c0b
bulk-checkin: fix segfault with unsafe SHA1 backend
pks-t Dec 30, 2024
106140a
builtin/fast-import: fix segfault with unsafe SHA1 backend
pks-t Dec 30, 2024
599a634
ci: exercise unsafe OpenSSL backend
pks-t Dec 30, 2024
cade724
Merge branch 'ps/weak-sha1-for-tail-sum-fix' into ps/meson-weak-sha1-…
gitster Dec 30, 2024
8214e27
meson: consistenlty spell 'CommonCrypto'
pks-t Dec 30, 2024
31eb6d7
meson: deduplicate access to SHA1/SHA256 backend options
pks-t Dec 30, 2024
d6787d9
meson: require SecurityFramework when it's used as SHA1 backend
pks-t Dec 30, 2024
6d8aa2a
meson: simplify conditions for HTTPS and SHA1 dependencies
pks-t Dec 30, 2024
12068bd
meson: add missing dots for build options
pks-t Dec 30, 2024
d2c0b6a
meson: wire up unsafe SHA1 backend
pks-t Dec 30, 2024
6a0ee54
meson: provide a summary of configured backends
pks-t Dec 30, 2024
5b34dd0
parse-options: localize mark-up of placeholder text in the short help
alshopov Dec 28, 2024
e1d34f3
Merge branch 'ms/t7611-test-path-is-file'
gitster Dec 30, 2024
bc2c657
Git 2.48-rc1
gitster Dec 30, 2024
1a18bf3
l10n: tr: Update Turkish translations for 2.48
bitigchi Dec 18, 2024
73e35b1
Merge branch 'rs/reftable-realloc-errors'
gitster Jan 1, 2025
9842294
Merge branch 'ps/weak-sha1-for-tail-sum-fix'
gitster Jan 1, 2025
d893741
Merge branch 'jk/lsan-race-with-barrier'
gitster Jan 1, 2025
d062ccf
A bit more post Git 2.48-rc1
gitster Jan 1, 2025
fc89d14
Revert barrier-based LSan threading race workaround
gitster Jan 1, 2025
5fa0c4d
test-lib: rely on logs to detect leaks
peff Jan 1, 2025
373a432
test-lib: simplify leak-log checking
peff Jan 1, 2025
6fb8cb3
test-lib: check leak logs for presence of DEDUP_TOKEN
peff Jan 1, 2025
b119a68
test-lib: ignore leaks in the sanitizer's thread code
peff Jan 1, 2025
effbef2
Merge branch 'jk/lsan-race-ignore-false-positive'
gitster Jan 2, 2025
1b4e9a5
Merge branch 'ps/build-meson-html'
gitster Jan 2, 2025
38d7016
git.txt: fix heading line of tildes
Jan 3, 2025
b67a603
gitcli.txt: typeset pathnames as monospace
Jan 3, 2025
b1dbc87
l10n: Update German translation
ralfth Dec 20, 2024
866ea87
t7110: replace `test -f` with `test_path_is_*` helpers
matteobagnolini Jan 3, 2025
a2df58f
l10n: vi: Updated translation for 2.48
Nekosha Jan 4, 2025
087ac48
l10n: sv.po, fixed swedish typos
oljemark Jan 4, 2025
10fd0e1
l10n: uk: v2.48 update
arkid15r Jan 5, 2025
ae6336b
Merge branch 'as/translations-bg'
j6t Jan 5, 2025
bba9dd6
l10n: zh_CN: updated translation for 2.48
dyrone Jan 3, 2025
238c0c0
l10n: po-id for 2.48
bagasme Dec 18, 2024
233d48f
fetch: fix erroneous set_head advice message
ferdinandyb Jan 5, 2025
bac67e1
Merge branch 'master' of https://github.com/j6t/git-gui
gitster Jan 6, 2025
e63e621
Merge branch 'master' of https://github.com/j6t/gitk
gitster Jan 6, 2025
c1acf1a
object-file: rename variables in `check_collision()`
pks-t Jan 6, 2025
cfae50e
object-file: don't special-case missing source file in collision check
pks-t Jan 6, 2025
d7fcbe2
object-file: retry linking file into place when occluding file vanishes
pks-t Jan 6, 2025
1fa37a0
Merge branch 'mh/doc-windows-home-env'
gitster Jan 6, 2025
ee0e3bb
Merge branch 'jc/doc-opt-tilde-expand'
gitster Jan 6, 2025
b74ff38
Git 2.48-rc2
gitster Jan 6, 2025
a41e394
Merge branch 'bf/fetch-set-head-config'
gitster Jan 6, 2025
8776470
completion: repair config completion for Zsh
benknoble Jan 6, 2025
15341c8
Merge branch 'l10n/zh-TW/2024-12-17' of github.com:l10n-tw/git-po
jiangxin Jan 7, 2025
02b355f
Merge branch 'master' of github.com:nafmo/git-l10n-sv
jiangxin Jan 7, 2025
ac8fe41
Merge branch 'tr-l10n' of github.com:bitigchi/git-po
jiangxin Jan 7, 2025
8ddca35
Merge branch 'po-id' of github.com:bagasme/git-po
jiangxin Jan 7, 2025
b987f15
Merge branch 'master' of github.com:alshopov/git-po
jiangxin Jan 7, 2025
97bfea6
Merge branch 'fr_v2.48.0' of github.com:jnavila/git
jiangxin Jan 7, 2025
111a9d5
Merge branch 'tl/zh_CN_2.48.0_rnd' of github.com:dyrone/git
jiangxin Jan 7, 2025
12bcb4d
Merge branch 'l10n-de-2.48' of github.com:ralfth/git
jiangxin Jan 7, 2025
56610be
Merge branch 'vi-2.48' of github.com:Nekosha/git-po
jiangxin Jan 7, 2025
fc613c0
Merge branch '2.48-uk-update' of github.com:arkid15r/git-ukrainian-l10n
jiangxin Jan 7, 2025
8d24d56
test-lib: invert return value of check_test_results_san_file_empty
peff Jan 7, 2025
b9a9df9
test-lib: simplify lsan results check
peff Jan 7, 2025
164a251
test-lib: add a few comments to LSan log checking
peff Jan 7, 2025
ddb5287
t7407: use test_grep
peff Jan 7, 2025
4a2b3df
Merge tag 'l10n-2.48.0-rnd1' of https://github.com/git-l10n/git-po
gitster Jan 7, 2025
1568d15
wrapper: allow generating insecure random bytes
pks-t Jan 7, 2025
0b4f8af
reftable/stack: accept insecure random bytes
pks-t Jan 7, 2025
ca71580
fsck: reject misconfigured fsck.skipList
jltobler Jan 7, 2025
1465006
RelNotes/2.48.0: fix typos etc.
LemmingAvalanche Jan 7, 2025
6a63995
docs: fix typesetting of merge driver placeholders
matthewhughes934 Jan 7, 2025
45c0897
meson: fix perl dependencies
thesamesam Jan 8, 2025
d02c37c
t-reftable-basics: allow for `malloc` to be `#define`d
dscho Jan 8, 2025
e05e111
Merge branch 'sj/meson-perl-build-fix'
gitster Jan 8, 2025
a60673e
Merge branch 'js/reftable-realloc-errors-fix'
gitster Jan 8, 2025
43850dc
t/unit-tests: convert hash to use clar test framework
Seyi007 Jan 9, 2025
21e1b44
difftool docs: restore correct position of tool list
adamchainz Jan 8, 2025
949bb8f
run_diff_files(): delay allocation of combine_diff_path
peff Jan 9, 2025
7067793
combine-diff: add combine_diff_path_new()
peff Jan 9, 2025
5173099
tree-diff: clear parent array in path_appendnew()
peff Jan 9, 2025
3a05997
combine-diff: use pointer for parent paths
peff Jan 9, 2025
30f7414
diff: add a comment about combine_diff_path.parent.path
peff Jan 9, 2025
ca3abe4
run_diff_files(): de-mystify the size of combine_diff_path struct
peff Jan 9, 2025
a8dda1a
tree-diff: drop path_appendnew() alloc optimization
peff Jan 9, 2025
8c53354
tree-diff: pass whole path string to path_appendnew()
peff Jan 9, 2025
b20d7d3
tree-diff: inline path_appendnew()
peff Jan 9, 2025
69f6dea
combine-diff: drop public declaration of combine_diff_path_size()
peff Jan 9, 2025
a5c4e31
tree-diff: drop list-tail argument to diff_tree_paths()
peff Jan 9, 2025
d8baf08
tree-diff: use the name "tail" to refer to list tail
peff Jan 9, 2025
6632bcb
tree-diff: simplify emit_path() list management
peff Jan 9, 2025
6979bf6
tree-diff: make list tail-passing more explicit
peff Jan 9, 2025
0b43274
credential-cache: respect authtype capability
hickford Jan 9, 2025
1fbb8d7
builtin/blame: fix out-of-bounds read with excessive `--abbrev`
pks-t Jan 10, 2025
e7fb2ca
builtin/blame: fix out-of-bounds write with blank boundary commits
pks-t Jan 10, 2025
64f3ff3
GIT-VERSION-GEN: allow it to be run in parallel
dscho Jan 10, 2025
3ae3564
Merge branch 'js/git-version-gen-update'
gitster Jan 10, 2025
b28fb93
Merge branch 'ps/build-sign-compare'
gitster Jan 10, 2025
fbe8d30
Git 2.48
gitster Jan 10, 2025
cf5b827
docs: list popular credential helpers
hickford Jan 10, 2025
a90ff40
docs: discuss caching personal access tokens
hickford Jan 10, 2025
77b2d29
doc: convert git-notes to new documentation format
jnavila Jan 10, 2025
69666e6
doc: convert git-restore to new style format
jnavila Jan 10, 2025
76baf97
instaweb: fix ip binding for the python http.server
int Jan 10, 2025
b569cbf
Merge branch 'ps/meson-weak-sha1-build' into ps/build-meson-fixes
gitster Jan 13, 2025
71e19a0
object-name: fix resolution of object names containing curly braces
newren Jan 13, 2025
191f0c8
object-name: be more strict in parsing describe-like output
newren Jan 13, 2025
65faad6
Sync with Git 2.47.2
gitster Jan 13, 2025
f93ff17
Git 2.48.1
gitster Jan 13, 2025
46afc2b
Start the Git 2.49 cycle
gitster Jan 13, 2025
757161e
Sync with Git 2.48.1
gitster Jan 13, 2025
4771501
meson: ensure correct version-def.h is used
To1ne Jan 14, 2025
1dca492
meson: fix missing deps for technical articles
thesamesam Jan 14, 2025
bc67b4a
reftable: write correct max_update_index to header
KarthikNayak Jan 15, 2025
be2ea67
doc: apply new documentation guidelines to git commit
jnavila Jan 15, 2025
d533c10
doc: the mode param of -u of git commit is optional
jnavila Jan 15, 2025
01b9465
doc: make more direct explanations in git commit options
jnavila Jan 15, 2025
819fdd6
doc: convert git commit config to new format
jnavila Jan 15, 2025
2a13745
doc: migrate git-commit manpage secondary files to new format
jnavila Jan 15, 2025
637fb90
Merge branch 're/submodule-parse-opt'
gitster Jan 17, 2025
f8f5af2
Merge branch 'as/long-option-help-i18n'
gitster Jan 17, 2025
66e01e5
Merge branch 'ps/object-collision-check'
gitster Jan 17, 2025
564b907
Merge branch 'ps/more-sign-compare'
gitster Jan 17, 2025
3902b08
Merge branch 'ps/meson-weak-sha1-build'
gitster Jan 17, 2025
b9a6830
Merge branch 'mb/t7110-use-test-path-helper'
gitster Jan 17, 2025
efff4a8
The first batch
gitster Jan 17, 2025
49b2992
connect: address -Wsign-compare warnings
glandium Jan 17, 2025
d4cd75f
contrib/subtree: fix building docs
pks-t Jan 17, 2025
07892da
meson: introduce build option for contrib
pks-t Jan 17, 2025
8454b42
meson: wire up the git-subtree(1) command
pks-t Jan 17, 2025
4ad47d2
gitcli: document that command line trumps config and env
gitster Jan 17, 2025
e4c0a14
t0012: optionally check that "-h" output goes to stdout
peff Jan 16, 2025
1782abd
parse-options: add show_usage_with_options_if_asked()
gitster Jan 16, 2025
0148fd8
usage: add show_usage_if_asked()
gitster Jan 16, 2025
b821c99
builtins: send usage_with_options() help text to standard output
gitster Jan 16, 2025
a36a822
oddballs: send usage() help text to standard output
gitster Jan 16, 2025
f66d142
builtin: send usage() help text to standard output
gitster Jan 16, 2025
aae2b43
t/unit-tests: handle dashes in test suite filenames
Seyi007 Jan 17, 2025
c143dfa
t/unit-tests: convert mem-pool test to use clar test framework
Seyi007 Jan 17, 2025
8b702f9
t/unit-tests: adapt priority queue test to use clar test framework
Seyi007 Jan 17, 2025
ffbd3f9
t/unit-tests: convert reftable tree test to use clar test framework
Seyi007 Jan 17, 2025
2105064
bswap.h: squelch potential sparse -Wcast-truncate warnings
gitster Jan 19, 2025
798e0f4
packfile: factor out --pack_header argument parsing
peff Jan 19, 2025
4f02f4d
parse_pack_header_option(): avoid unaligned memory writes
peff Jan 19, 2025
f1299bf
index-pack, unpack-objects: use get_be32() for reading pack header
peff Jan 19, 2025
9804659
index-pack, unpack-objects: use skip_prefix to avoid magic number
peff Jan 19, 2025
5a59d1e
Merge branch 'jk/lsan-race-ignore-false-positive'
gitster Jan 21, 2025
57ebdd5
Merge branch 'jk/t7407-use-test-grep'
gitster Jan 21, 2025
cb441e1
Merge branch 'ps/reftable-get-random-fix'
gitster Jan 21, 2025
d6a7cac
Merge branch 'jt/fsck-skiplist-parse-fix'
gitster Jan 21, 2025
7b39a12
Merge branch 'ps/the-repository'
gitster Jan 21, 2025
780f7fd
Merge branch 'aj/difftool-config-doc-fix'
gitster Jan 21, 2025
c032b1d
Merge branch 'dk/zsh-config-completion-fix'
gitster Jan 21, 2025
73c152e
Merge branch 'mh/gitattr-doc-markup-fix'
gitster Jan 21, 2025
85cf880
Merge branch 'sk/unit-test-hash'
gitster Jan 21, 2025
4e746b1
The second batch
gitster Jan 21, 2025
5e58db6
ref-filter: move ahead-behind bases into used_atom
rscharfe Jan 18, 2025
7ee4fd1
ref-filter: move is-base tip to used_atom
rscharfe Jan 18, 2025
c5490ce
ref-filter: remove ref_format_clear()
rscharfe Jan 18, 2025
8244d01
pack-write: pass hash_algo to `fixup_pack_header_footer()`
KarthikNayak Jan 19, 2025
e2f6f76
pack-write: pass repository to `index_pack_lockfile()`
KarthikNayak Jan 19, 2025
7653e9a
pack-write: pass hash_algo to `write_idx_file()`
KarthikNayak Jan 19, 2025
6b2aa7f
pack-write: pass hash_algo to `write_rev_file()`
KarthikNayak Jan 19, 2025
8705c9b
pack-write: pass hash_algo to internal functions
KarthikNayak Jan 19, 2025
2d0ff14
t8002: fix ambiguous printf conversion specifications
jpalus Jan 20, 2025
eb8728d
meson: stop disabling -Wsign-compare
pks-t Jan 20, 2025
a204f92
reftable/record: drop unused `print` function pointer
pks-t Jan 20, 2025
072e3aa
reftable/record: handle overflows when decoding varints
pks-t Jan 20, 2025
5ac65f0
reftable/basics: adjust `common_prefix_size()` to return `size_t`
pks-t Jan 20, 2025
57adf71
reftable/basics: adjust `hash_size()` to return `uint32_t`
pks-t Jan 20, 2025
ffe6643
reftable/block: adapt header and footer size to return a `size_t`
pks-t Jan 20, 2025
b1e4b6f
reftable/block: adjust type of the restart length
pks-t Jan 20, 2025
1f054af
reftable/blocksource: adjust type of the block length
pks-t Jan 20, 2025
7c4c1cb
reftable/blocksource: adjust `read_block()` to return `ssize_t`
pks-t Jan 20, 2025
33319b0
reftable: address trivial -Wsign-compare warnings
pks-t Jan 20, 2025
a0bea09
refs: fix migration of reflogs respecting "core.logAllRefUpdates"
pks-t Jan 22, 2025
c5bc9a7
Makefile: wire up build option for deprecated features
pks-t Jan 22, 2025
04c29bd
ci: merge linux-gcc-default into linux-gcc
pks-t Jan 22, 2025
4b5073c
ci: repurpose "linux-gcc" job for deprecations
pks-t Jan 22, 2025
68f5187
builtin/pack-redundant: remove subcommand with breaking changes
pks-t Jan 22, 2025
e40622a
GIT-VERSION-GEN: simplify computing the dirty marker
pks-t Jan 22, 2025
f6a2efd
GIT-VERSION-GEN: allow running without input and output files
pks-t Jan 22, 2025
6ff9917
meson: populate project version via GIT-VERSION-GEN
pks-t Jan 22, 2025
53d75bd
meson: fix dependencies for generated headers
pks-t Jan 22, 2025
5d0cf6b
meson: wire up development environments
pks-t Jan 22, 2025
88d4bff
meson: wire up generation of distribution archive
pks-t Jan 22, 2025
28911f7
meson: wire up fuzzers
pks-t Jan 22, 2025
ef8c3a1
meson: make the CSPRNG backend configurable
pks-t Jan 22, 2025
13cb20f
meson: fix compilation with Visual Studio
pks-t Jan 22, 2025
a817995
ci: raise error when Meson generates warnings
pks-t Jan 22, 2025
7304bd2
ci: wire up Visual Studio build with Meson
pks-t Jan 22, 2025
b224e8e
path-walk: drop redundant parse_tree() call
peff Jan 23, 2025
3519492
refs: fix creation of reflog entries for symrefs
KarthikNayak Jan 23, 2025
2fd367c
trace2: prevent segfault on config collection with valueless true
ad-murray Jan 10, 2025
d9213e4
t/helper/test-tool: implement sha1-unsafe helper
ttaylorr Jan 23, 2025
48524fa
csum-file: store the hash algorithm as a struct field
ttaylorr Jan 23, 2025
5fcc683
csum-file.c: extract algop from hashfile_checksum_valid()
ttaylorr Jan 23, 2025
7b081d2
hash.h: introduce `unsafe_hash_algo()`
ttaylorr Jan 23, 2025
f0c266a
csum-file.c: use unsafe_hash_algo()
ttaylorr Jan 23, 2025
3339180
t/helper/test-hash.c: use unsafe_hash_algo()
ttaylorr Jan 23, 2025
a8dd382
csum-file: introduce hashfile_checkpoint_init()
ttaylorr Jan 23, 2025
04292c3
hash.h: drop unsafe_ function variants
ttaylorr Jan 23, 2025
7e3cb2e
Merge branch 'en/object-name-with-funny-refname-fix'
gitster Jan 23, 2025
d8093fd
Merge branch 'tc/meson-use-our-version-def-h'
gitster Jan 23, 2025
aa31820
Merge branch 'sj/meson-doc-technical-dependency-fix'
gitster Jan 23, 2025
294673a
Merge branch 'ak/instaweb-python-port-binding-fix'
gitster Jan 23, 2025
6ecb4fc
Merge branch 'mh/doc-credential-helpers-with-pat'
gitster Jan 23, 2025
39ba2e8
Merge branch 'jc/cli-doc-option-and-config'
gitster Jan 23, 2025
5f8f708
The third batch
gitster Jan 23, 2025
8ccc75c
remote: announce removal of "branches/" and "remotes/"
pks-t Jan 22, 2025
f11f0a5
refs/reftable: fix uninitialized memory access of `max_index`
KarthikNayak Jan 27, 2025
f0a371a
Merge branch 'jc/show-usage-help'
gitster Jan 28, 2025
8d33546
Merge branch 'sk/unit-tests'
gitster Jan 28, 2025
63d555a
Merge branch 'mh/connect-sign-compare'
gitster Jan 28, 2025
3ddeb7f
Merge branch 'ps/build-meson-subtree'
gitster Jan 28, 2025
f8b9821
Merge branch 'jk/pack-header-parse-alignment-fix'
gitster Jan 28, 2025
73e055d
Merge branch 'mh/credential-cache-authtype-request-fix'
gitster Jan 28, 2025
a17fd7d
Merge branch 'ps/reftable-sign-compare'
gitster Jan 28, 2025
b09b10a
Merge branch 'jp/t8002-printf-fix'
gitster Jan 28, 2025
da898a5
The fourth batch
gitster Jan 28, 2025
f046ab2
Merge branch 'ds/path-walk-1'
gitster Jan 29, 2025
de56e1d
Merge branch 'ja/doc-commit-markup-updates'
gitster Jan 29, 2025
8d6240d
Merge branch 'rs/ref-fitler-used-atoms-value-fix'
gitster Jan 29, 2025
d205f06
Merge branch 'kn/reflog-symref-fix'
gitster Jan 29, 2025
c5216a1
Merge branch 'am/trace2-with-valueless-true'
gitster Jan 29, 2025
296cf82
Merge branch 'ps/reflog-migration-with-logall-fix'
gitster Jan 29, 2025
3b0d05c
The fifth batch
gitster Jan 29, 2025
dccd9c5
Merge branch 'ja/doc-restore-markup-update'
gitster Jan 31, 2025
ecba2c1
Merge branch 'sk/strlen-returns-size_t'
gitster Jan 31, 2025
bdd1988
Merge branch 'ja/doc-notes-markup-updates'
gitster Jan 31, 2025
81309f4
Merge branch 'jc/show-index-h-update'
gitster Jan 31, 2025
58b5801
The sixth batch
gitster Jan 31, 2025
caf1742
Merge branch 'tb/unsafe-hash-cleanup'
gitster Feb 3, 2025
c43136d
Merge branch 'jk/combine-diff-cleanup'
gitster Feb 3, 2025
803b5ac
Merge branch 'ps/3.0-remote-deprecation'
gitster Feb 3, 2025
f49905d
Merge branch 'ps/build-meson-fixes'
gitster Feb 3, 2025
b83a2f9
Merge branch 'kn/pack-write-with-reduced-globals'
gitster Feb 3, 2025
1f124f3
Merge branch 'kn/reflog-migration-fix-fix'
gitster Feb 3, 2025
bc204b7
The seventh batch
gitster Feb 3, 2025
4c6c877
survey: stub in new experimental 'git-survey' command
jeffhostetler Apr 29, 2024
07a9d30
survey: add command line opts to select references
jeffhostetler Apr 29, 2024
f87004f
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
b2dbcdc
survey: add object count summary
derrickstolee Sep 2, 2024
099033a
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
71ca390
survey: show progress during object walk
derrickstolee Sep 2, 2024
1f96449
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
8e3981d
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
22a52fa
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
2d7e24f
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
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
  •  
  •  
  •  
16 changes: 10 additions & 6 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ AlignConsecutiveAssignments: false
# double b = 3.14;
AlignConsecutiveDeclarations: false

# Align consecutive macro definitions.
AlignConsecutiveMacros: true

# Align escaped newlines as far left as possible
# #define A \
# int aaaa; \
Expand Down Expand Up @@ -209,13 +212,14 @@ KeepEmptyLinesAtTheStartOfBlocks: false

# Penalties
# This decides what order things should be done if a line is too long
PenaltyBreakAssignment: 10
PenaltyBreakBeforeFirstCallParameter: 30
PenaltyBreakComment: 10
PenaltyBreakAssignment: 5
PenaltyBreakBeforeFirstCallParameter: 5
PenaltyBreakComment: 5
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 10
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyBreakOpenParenthesis: 300
PenaltyBreakString: 5
PenaltyExcessCharacter: 10
PenaltyReturnTypeOnItsOwnLine: 300

# Don't sort #include's
SortIncludes: false
74 changes: 69 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,58 @@ jobs:
with:
name: failed-tests-windows-vs-${{ matrix.nr }}
path: ${{env.FAILED_TEST_ARTIFACTS}}

windows-meson-build:
name: win+Meson build
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'
runs-on: windows-latest
concurrency:
group: windows-meson-build-${{ github.ref }}
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Set up dependencies
shell: pwsh
run: pip install meson ninja
- name: Setup
shell: pwsh
run: meson setup build -Dperl=disabled
- name: Compile
shell: pwsh
run: meson compile -C build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: windows-meson-artifacts
path: build
windows-meson-test:
name: win+Meson test
runs-on: windows-latest
needs: [ci-config, windows-meson-build]
strategy:
fail-fast: false
matrix:
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
concurrency:
group: windows-meson-test-${{ matrix.nr }}-${{ github.ref }}
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Set up dependencies
shell: pwsh
run: pip install meson ninja
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: windows-meson-artifacts
path: build
- name: Test
shell: pwsh
run: meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % 10 } | Where-Object Name -EQ ${{ matrix.nr }} | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group }

regular:
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
needs: ci-config
Expand All @@ -265,9 +317,8 @@ jobs:
- jobname: linux-reftable
cc: clang
pool: ubuntu-latest
- jobname: linux-gcc
- jobname: linux-breaking-changes
cc: gcc
cc_package: gcc-8
pool: ubuntu-20.04
- jobname: linux-TEST-vars
cc: gcc
Expand All @@ -282,9 +333,9 @@ jobs:
- jobname: osx-gcc
cc: gcc-13
pool: macos-13
- jobname: linux-gcc-default
cc: gcc
pool: ubuntu-latest
- jobname: osx-meson
cc: clang
pool: macos-13
- jobname: linux-leaks
cc: gcc
pool: ubuntu-latest
Expand All @@ -294,11 +345,15 @@ jobs:
- jobname: linux-asan-ubsan
cc: clang
pool: ubuntu-latest
- jobname: linux-meson
cc: gcc
pool: ubuntu-latest
env:
CC: ${{matrix.vector.cc}}
CC_PACKAGE: ${{matrix.vector.cc_package}}
jobname: ${{matrix.vector.jobname}}
distro: ${{matrix.vector.pool}}
TEST_OUTPUT_DIRECTORY: ${{github.workspace}}/t
runs-on: ${{matrix.vector.pool}}
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -338,12 +393,21 @@ jobs:
- jobname: linux-musl
image: alpine
distro: alpine-latest
# Supported until 2025-04-02.
- jobname: linux32
image: i386/ubuntu:focal
distro: ubuntu32-20.04
- jobname: pedantic
image: fedora
distro: fedora-latest
# A RHEL 8 compatible distro. Supported until 2029-05-31.
- jobname: almalinux-8
image: almalinux:8
distro: almalinux-8
# Supported until 2026-08-31.
- jobname: debian-11
image: debian:11
distro: debian-11
env:
jobname: ${{matrix.vector.jobname}}
distro: ${{matrix.vector.distro}}
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
/GIT-TEST-SUITES
/GIT-USER-AGENT
/GIT-VERSION-FILE
/bin-wrappers/
/git
/git-add
/git-am
Expand Down Expand Up @@ -165,6 +164,7 @@
/git-submodule
/git-submodule--helper
/git-subtree
/git-survey
/git-svn
/git-switch
/git-symbolic-ref
Expand Down Expand Up @@ -195,9 +195,11 @@
/config-list.h
/command-list.h
/hook-list.h
/version-def.h
*.tar.gz
*.dsc
*.deb
/git.rc
/git.spec
*.exe
*.[aos]
Expand Down
109 changes: 101 additions & 8 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
default:
timeout: 2h

stages:
- build
- test
- analyze

workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
Expand All @@ -9,10 +14,13 @@ workflow:

test:linux:
image: $image
stage: test
needs: [ ]
tags:
- saas-linux-medium-amd64
variables:
CUSTOM_PATH: "/custom"
TEST_OUTPUT_DIRECTORY: "/tmp/test-output"
before_script:
- ./ci/install-dependencies.sh
script:
Expand All @@ -24,29 +32,26 @@ test:linux:
if test "$CI_JOB_STATUS" != 'success'
then
sudo --preserve-env --set-home --user=builder ./ci/print-test-failures.sh
mv "$TEST_OUTPUT_DIRECTORY"/failed-test-artifacts t/
fi
parallel:
matrix:
- jobname: linux-old
image: ubuntu:16.04
image: ubuntu:20.04
CC: gcc
- jobname: linux-sha256
image: ubuntu:latest
CC: clang
- jobname: linux-reftable
image: ubuntu:latest
CC: clang
- jobname: linux-gcc
- jobname: linux-breaking-changes
image: ubuntu:20.04
CC: gcc
CC_PACKAGE: gcc-8
- jobname: linux-TEST-vars
image: ubuntu:20.04
CC: gcc
CC_PACKAGE: gcc-8
- jobname: linux-gcc-default
image: ubuntu:latest
CC: gcc
- jobname: linux-leaks
image: ubuntu:latest
CC: gcc
Expand All @@ -60,13 +65,18 @@ test:linux:
image: fedora:latest
- jobname: linux-musl
image: alpine:latest
- jobname: linux-meson
image: ubuntu:latest
CC: gcc
artifacts:
paths:
- t/failed-test-artifacts
when: on_failure

test:osx:
image: $image
stage: test
needs: [ ]
tags:
- saas-macos-medium-m1
variables:
Expand All @@ -90,18 +100,93 @@ test:osx:
parallel:
matrix:
- jobname: osx-clang
image: macos-13-xcode-14
image: macos-14-xcode-15
CC: clang
- jobname: osx-reftable
image: macos-13-xcode-14
image: macos-14-xcode-15
CC: clang
- jobname: osx-meson
image: macos-14-xcode-15
CC: clang
artifacts:
paths:
- t/failed-test-artifacts
when: on_failure

build:mingw64:
stage: build
tags:
- saas-windows-medium-amd64
variables:
NO_PERL: 1
before_script:
- ./ci/install-sdk.ps1 -directory "git-sdk"
script:
- git-sdk/usr/bin/bash.exe -l -c 'ci/make-test-artifacts.sh artifacts'
artifacts:
paths:
- artifacts
- git-sdk

test:mingw64:
stage: test
tags:
- saas-windows-medium-amd64
needs:
- job: "build:mingw64"
artifacts: true
before_script:
- git-sdk/usr/bin/bash.exe -l -c 'tar xf artifacts/artifacts.tar.gz'
- New-Item -Path .git/info -ItemType Directory
- New-Item .git/info/exclude -ItemType File -Value "/git-sdk"
script:
- git-sdk/usr/bin/bash.exe -l -c "ci/run-test-slice.sh $CI_NODE_INDEX $CI_NODE_TOTAL"
after_script:
- git-sdk/usr/bin/bash.exe -l -c 'ci/print-test-failures.sh'
parallel: 10

.msvc-meson:
tags:
- saas-windows-medium-amd64
before_script:
- choco install -y git meson ninja openssl
- Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
- refreshenv
# The certificate store for Python on Windows is broken and fails to fetch
# certificates, see https://bugs.python.org/issue36011. This seems to
# mostly be an issue with how the GitLab image is set up as it is a
# non-issue on GitHub Actions. Work around the issue by importing
# cetrificates manually.
- Invoke-WebRequest https://curl.haxx.se/ca/cacert.pem -OutFile cacert.pem
- openssl pkcs12 -export -nokeys -in cacert.pem -out certs.pfx -passout "pass:"
- Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath certs.pfx

build:msvc-meson:
extends: .msvc-meson
stage: build
script:
- meson setup build -Dperl=disabled
- meson compile -C build
artifacts:
paths:
- build

test:msvc-meson:
extends: .msvc-meson
stage: test
when: manual
timeout: 6h
needs:
- job: "build:msvc-meson"
artifacts: true
script:
- meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % $Env:CI_NODE_TOTAL + 1 } | Where-Object Name -EQ $Env:CI_NODE_INDEX | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group }
parallel: 10

test:fuzz-smoke-tests:
image: ubuntu:latest
stage: test
needs: [ ]
variables:
CC: clang
before_script:
Expand All @@ -111,6 +196,8 @@ test:fuzz-smoke-tests:

static-analysis:
image: ubuntu:22.04
stage: analyze
needs: [ ]
variables:
jobname: StaticAnalysis
before_script:
Expand All @@ -121,6 +208,8 @@ static-analysis:

check-whitespace:
image: ubuntu:latest
stage: analyze
needs: [ ]
before_script:
- ./ci/install-dependencies.sh
# Since $CI_MERGE_REQUEST_TARGET_BRANCH_SHA is only defined for merged
Expand All @@ -135,6 +224,8 @@ check-whitespace:

check-style:
image: ubuntu:latest
stage: analyze
needs: [ ]
allow_failure: true
variables:
CC: clang
Expand All @@ -153,6 +244,8 @@ check-style:

documentation:
image: ubuntu:latest
stage: analyze
needs: [ ]
variables:
jobname: Documentation
before_script:
Expand Down
3 changes: 3 additions & 0 deletions Documentation/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ cmds-*.txt
mergetools-*.txt
SubmittingPatches.txt
tmp-doc-diff/
tmp-meson-diff/
GIT-ASCIIDOCFLAGS
/.build/
/GIT-EXCLUDED-PROGRAMS
/asciidoc.conf
/asciidoctor-extensions.rb
Loading