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
38419bd
perl: also mark git-contacts executable
benknoble Nov 4, 2025
d63417e
meson: make GIT_HTML_PATH configurable
benknoble Nov 4, 2025
bdb1cf8
gitk: add external diff file rename detection
ToBoMi Nov 6, 2025
8d71696
ci: update {download,upload}-artifact Action versions
dscho Nov 6, 2025
994869e
Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
gitster Nov 6, 2025
7048e74
object: fix performance regression when peeling tags
pks-t 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
b095b7d
l10n: sv.po: Update Swedish translation
nafmo Nov 7, 2025
95bc4ee
l10n: fr: version 2.52
jnavila Nov 9, 2025
44030a9
l10n: bg.po: Updated Bulgarian translation (6065t)
alshopov Nov 7, 2025
2c89990
l10n: ga.po: Update Irish translation for Git 2.52
aindriu80 Nov 7, 2025
135f491
reftable/stack: return stack segments directly
KarthikNayak Nov 8, 2025
e351555
reftable/stack: add function to check if optimization is required
KarthikNayak Nov 8, 2025
f6c5ca3
refs: add a `optimize_required` field to `struct ref_storage_be`
KarthikNayak Nov 8, 2025
8c1ce22
maintenance: add checking logic in `pack_refs_condition()`
KarthikNayak Nov 8, 2025
28b83e6
maintenance: add 'is-needed' subcommand
KarthikNayak Nov 8, 2025
fa05236
diff: disable rename detection with --quiet
rscharfe Nov 9, 2025
358e94d
.gitattributes: remove misspelled no-op whitespace attribute
gitster Nov 11, 2025
cb9036a
Merge branch 'tu/credential-wincred-makefile-update'
gitster Nov 12, 2025
da5841b
Merge branch 'dk/meson-html-dir'
gitster Nov 12, 2025
e65e955
Merge branch 'dk/make-git-contacts-executable'
gitster Nov 12, 2025
621415c
Git 2.52-rc2
gitster Nov 12, 2025
42ed046
attr: avoid recursion when expanding attribute macros
peff Nov 11, 2025
99bd5a5
Merge branch 'tc/last-modified-active-paths-optimization'
gitster Nov 12, 2025
dee8094
doc: add an explanation of Git's data model
jvns Nov 12, 2025
8d4725e
whitespace: correct bit assignment comments
gitster Nov 12, 2025
f83d1af
diff: emit_line_ws_markup() if/else style fix
gitster Nov 12, 2025
fc7abcd
diff: correct suppress_blank_empty hack
gitster Nov 12, 2025
ced0561
diff: keep track of the type of the last line seen
gitster Nov 12, 2025
29228cb
diff: refactor output of incomplete line
gitster Nov 12, 2025
35925f1
diff: call emit_callback ecbdata everywhere
gitster Nov 12, 2025
8d8e3c6
diff: update the way rewrite diff handles incomplete lines
gitster Nov 12, 2025
3a4eb5a
apply: revamp the parsing of incomplete lines
gitster Nov 12, 2025
a675104
whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
gitster Nov 12, 2025
9fb15a8
apply: check and fix incomplete lines
gitster Nov 12, 2025
ab2693c
diff: highlight and error out on incomplete lines
gitster Nov 12, 2025
773b840
l10n: po-id for 2.52
bagasme Nov 12, 2025
fd372d9
RelNotes: fix typo in release notes for 2.52.0
ttaylorr Nov 13, 2025
51358a1
attr: enable incomplete-line whitespace error for this project
gitster Nov 12, 2025
4580bcd
osxkeychain: avoid incorrectly skipping store operation
KojiNakamaru Nov 14, 2025
df90ecc
doc: commit: link to git-status(1) on all format options
LemmingAvalanche Nov 14, 2025
8b26798
l10n: tr: Update Turkish translations
bitigchi Nov 4, 2025
c7b5e0e
l10n: Updated translation for vi-2.52
Nekosha Nov 15, 2025
c35d202
l10n: zh_TW.po: update Git 2.52 translation
pan93412 Nov 13, 2025
466b4c0
Merge branch 'master' of github.com:nafmo/git-l10n-sv
jiangxin Nov 15, 2025
fc2961a
Merge branch 'l10n-ga-2.52' of github.com:aindriu80/git-po
jiangxin Nov 15, 2025
5eab3a7
Merge branch 'fr_v2.52' of github.com:jnavila/git
jiangxin Nov 15, 2025
4ef1a07
Merge branch 'master' of github.com:alshopov/git-po
jiangxin Nov 15, 2025
b8fee03
Merge branch 'po-id' of github.com:bagasme/git-po
jiangxin Nov 15, 2025
4adfdf3
Merge branch 'l10n/zh-TW/git-2-52' of github.com:l10n-tw/git-po
jiangxin Nov 15, 2025
d3849c4
Merge branch 'vi-2.52' of github.com:Nekosha/git-po
jiangxin Nov 15, 2025
1480c39
l10n: uk: add 2.52 translation
arkid15r Nov 15, 2025
66c78e0
object-file: disallow adding submodules of different hash algo
bk2204 Nov 15, 2025
9000946
Merge branch '2.52-uk' of github.com:arkid15r/git-ukrainian-l10n
jiangxin Nov 16, 2025
6fe288b
read-cache: drop submodule check from add_to_cache()
peff Nov 15, 2025
ad892a6
l10n: zh_CN: updated translation for 2.52
dyrone Nov 13, 2025
c93f1a0
Merge tag 'l10n-2.52.0-v1' of https://github.com/git-l10n/git-po
gitster Nov 16, 2025
ffff0bb
Use Perforce arm64 binary on macOS CI jobs
gitster Nov 16, 2025
878fef8
t/unit-tests: add UTF-8 width tests for CJK chars
jiangxin Nov 15, 2025
7a03a10
builtin/repo: fix table alignment for UTF-8 characters
jiangxin Nov 15, 2025
388517c
fast-import: refactor finalize_commit_buffer()
chriscool Nov 17, 2025
cb034c0
commit: refactor verify_commit_buffer()
chriscool Nov 17, 2025
7f79dc3
Merge branch 'jc/ci-use-arm64-p4-on-macos'
gitster Nov 17, 2025
9a2fb14
Git 2.52
gitster Nov 17, 2025
881793c
xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK
wetneb Nov 17, 2025
ffffb98
blame: make diff algorithm configurable
wetneb Nov 17, 2025
f18aa68
wrapper: simplify xmkstemp()
rscharfe Nov 17, 2025
c64eb84
make strip: include `scalar`
dscho Nov 17, 2025
ffe702b
t6429: update comment to mention correct tool
newren Nov 3, 2025
d5663a4
merge-ort: remove debugging crud
newren Nov 3, 2025
a562d90
merge-ort: fix failing merges in special corner case
newren Nov 3, 2025
d22a488
wincred: avoid memory corruption
elieux Nov 17, 2025
b0d5c88
cmake: stop trying to build the reftable and xdiff libraries
dscho Nov 17, 2025
af39198
mingw: avoid the comma operator
dscho Nov 17, 2025
cd99203
ci: bump actions/setup-go from 5 to 6
dscho Nov 18, 2025
65e8141
compat/mmap: mark unused argument in git_munmap()
peff Nov 18, 2025
4deb882
pack-bitmap: handle name-hash lookups in incremental bitmaps
peff Nov 18, 2025
a9990f8
Makefile: turn on NO_MMAP when building with ASan
peff Nov 18, 2025
c4c9089
cache-tree: avoid strtol() on non-string buffer
peff Nov 18, 2025
0b6ec07
fsck: assert newline presence in fsck_ident()
peff Nov 18, 2025
830424d
fsck: avoid strcspn() in fsck_ident()
peff Nov 18, 2025
f05df7f
fsck: remove redundant date timestamp check
peff Nov 18, 2025
5a99359
fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
peff Nov 18, 2025
a031b61
t: enable ASan's strict_string_checks option
peff Nov 18, 2025
e96105a
unit-test: ignore --no-chain-lint
peff Nov 18, 2025
17bd110
ci(windows-meson-test): handle options and output like other test jobs
peff Nov 18, 2025
14b561e
test-mktemp: plug memory and descriptor leaks
peff Nov 18, 2025
a6238ee
worktree list: fix column spacing
phillipwood Nov 18, 2025
08dfa59
worktree list: quote paths
phillipwood Nov 18, 2025
fd7d79d
repo: factor out field printing to dedicated function
lucasoshiro Nov 18, 2025
155caac
repo: add --all to git-repo-info
lucasoshiro Nov 18, 2025
6971934
doc: define unambiguous type mappings across C and Rust
ezekielnewren Nov 18, 2025
f007f4f
xdiff: use ptrdiff_t for dstart/dend
ezekielnewren Nov 18, 2025
10f97d6
xdiff: make xrecord_t.ptr a uint8_t instead of char
ezekielnewren Nov 18, 2025
9bd1932
xdiff: use size_t for xrecord_t.size
ezekielnewren Nov 18, 2025
b0d4ae3
xdiff: use unambiguous types in xdl_hash_record()
ezekielnewren Nov 18, 2025
6a26019
xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
ezekielnewren Nov 18, 2025
0165387
xdiff: make xdfile_t.nrec a size_t instead of long
ezekielnewren Nov 18, 2025
e35877e
xdiff: make xdfile_t.nreff a size_t instead of long
ezekielnewren Nov 18, 2025
5004a8d
xdiff: change rindex from long to size_t in xdfile_t
ezekielnewren Nov 18, 2025
22ce0cb
xdiff: rename rindex -> reference_index
ezekielnewren Nov 18, 2025
7a75e54
Merge branch 'ps/packed-git-in-object-store'
gitster Nov 19, 2025
13134ce
Merge branch 'ps/ref-peeled-tags'
gitster Nov 19, 2025
7ccfc26
Merge branch 'kn/refs-optim-cleanup'
gitster Nov 19, 2025
ee27005
Merge branch 'ps/ref-peeled-tags-fixes'
gitster Nov 19, 2025
5e6e485
Start 2.53 cycle
gitster Nov 19, 2025
903b04a
doc: convert git fetch to synopsis style
jnavila Nov 19, 2025
c80a5eb
doc: convert git pull to synopsis style
jnavila Nov 19, 2025
f7316a6
doc: convert git push to synopsis style
jnavila Nov 19, 2025
01f9010
Merge branch 'ps/object-source-loose' into ps/object-read-stream
gitster Nov 19, 2025
c6def6a
Merge branch 'ps/object-source-loose' into ps/object-source-management
gitster Nov 19, 2025
831e023
path: move `enter_repo()` into "setup.c"
pks-t Nov 19, 2025
7c188a9
setup: convert `set_git_dir()` to have file scope
pks-t Nov 19, 2025
9aaba57
odb: adopt logic to close object databases
pks-t Nov 19, 2025
f8bdf31
odb: refactor `odb_clear()` to `odb_free()`
pks-t Nov 19, 2025
fbf3d06
doc: warn against --committer-date-is-author-date
LemmingAvalanche Nov 20, 2025
2367c6b
win32: return error if SleepConditionVariableCS fails
AZero13 Nov 18, 2025
42aa760
win32: pthread_cond_init should return a value
AZero13 Nov 20, 2025
770afe4
config: mark otherwise unused function as file-scope static
gitster Nov 20, 2025
3176576
Merge branch 'rs/diff-quiet-no-rename'
gitster Nov 21, 2025
c62d2d3
Merge branch 'kn/maintenance-is-needed'
gitster Nov 21, 2025
7895a60
Merge branch 'jc/gitattributes-whitespace-no-indent-fix'
gitster Nov 21, 2025
debbc87
The second batch
gitster Nov 21, 2025
6bdda3a
streaming: rename `git_istream` into `odb_read_stream`
pks-t Nov 23, 2025
70c8b5f
streaming: drop the `open()` callback function
pks-t Nov 23, 2025
3f64dea
streaming: propagate final object type via the stream
pks-t Nov 23, 2025
3c7722d
streaming: explicitly pass packfile info when streaming a packed object
pks-t Nov 23, 2025
595296e
streaming: allocate stream inside the backend-specific logic
pks-t Nov 23, 2025
e030d0a
streaming: create structure for in-core object streams
pks-t Nov 23, 2025
b7774c0
streaming: create structure for loose object streams
pks-t Nov 23, 2025
5f0d8d2
streaming: create structure for packed object streams
pks-t Nov 23, 2025
1154b2d
streaming: create structure for filtered object streams
pks-t Nov 23, 2025
eb5abbb
streaming: move zlib stream into backends
pks-t Nov 23, 2025
385e188
packfile: introduce function to read object info from a store
pks-t Nov 23, 2025
4c89d31
streaming: rely on object sources to create object stream
pks-t Nov 23, 2025
c26da34
streaming: get rid of `the_repository`
pks-t Nov 23, 2025
ffc9a34
streaming: make the `odb_read_stream` definition public
pks-t Nov 23, 2025
bc30a2f
streaming: move logic to read loose objects streams into backend
pks-t Nov 23, 2025
8c1b84b
streaming: move logic to read packed objects streams into backend
pks-t Nov 23, 2025
378ec56
streaming: refactor interface to be object-database-centric
pks-t Nov 23, 2025
1599b68
streaming: move into object database subsystem
pks-t Nov 23, 2025
7b94028
streaming: drop redundant type and size pointers
pks-t Nov 23, 2025
fddba8f
doc: pull-fetch-param typofix
Nov 24, 2025
df963f0
config: fix suggestion for failed set of multi-valued option
rscharfe Nov 24, 2025
18bf67b
config: fix short help of unset flags
rscharfe Nov 24, 2025
54f7817
Merge branch 'jk/attr-macroexpand-wo-recursion'
gitster Nov 24, 2025
d91d79f
Merge branch 'bc/submodule-force-same-hash'
gitster Nov 24, 2025
9370a6b
Merge branch 'sa/replay-atomic-ref-updates'
gitster Nov 24, 2025
05ce3ab
Merge branch 'qj/doc-http-bad-want-response'
gitster Nov 24, 2025
a545103
Merge branch 'ps/object-source-loose'
gitster Nov 24, 2025
aa934e0
Merge branch 'kh/doc-commit-extra-references'
gitster Nov 24, 2025
861312b
Merge branch 'kn/osxkeychain-idempotent-store-fix'
gitster Nov 24, 2025
a5d5c50
Merge branch 'jx/repo-struct-utf8width-fix'
gitster Nov 24, 2025
6ab38b7
The third batch
gitster Nov 24, 2025
ce1a5a2
config: really pretend missing :(optional) value is not there
gitster Nov 20, 2025
0bd1685
config: really treat missing optional path as not configured
gitster Nov 20, 2025
b67b2d9
odb: move logic to disable ref updates into repo
pks-t Nov 19, 2025
5d795b3
oidset: introduce `oidset_equal()`
pks-t Nov 19, 2025
8dc22e8
builtin/index-pack: fix deferred fsck outside repos
pks-t Nov 19, 2025
eea83c0
t/helper: stop setting up `the_repository` repeatedly
pks-t Nov 19, 2025
c257bd5
http-push: stop setting up `the_repository` for each reference
pks-t Nov 19, 2025
35d9fc6
odb: handle initialization of sources in `odb_new()`
pks-t Nov 19, 2025
2574c61
chdir-notify: add function to unregister listeners
pks-t Nov 19, 2025
2816b74
odb: handle changing a repository's commondir
pks-t Nov 19, 2025
ac65c70
odb: handle recreation of quarantine directories
pks-t Nov 19, 2025
bd3fd7e
Merge branch 'js/persist-ref-window-geometry'
j6t Nov 26, 2025
776223c
Merge branch 'tb/external-diff-renamed'
j6t Nov 26, 2025
c20f112
fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
chriscool Nov 17, 2025
9f3a115
replay: do not copy "gpgsign-sha256" header
phillipwood Nov 26, 2025
42bf8a5
Merge branch 'master' of https://github.com/j6t/gitk
gitster Nov 26, 2025
0458e8b
ci(dockerized): do show the result of failing tests again
dscho Nov 17, 2025
716e871
Merge branch 'en/ort-rename-another-fix'
gitster Nov 26, 2025
1b93acd
Merge branch 'ad/blame-diff-algorithm'
gitster Nov 26, 2025
370470e
Merge branch 'rs/xmkstemp-simplify'
gitster Nov 26, 2025
24ddb3f
Merge branch 'jk/test-mktemp-leakfix'
gitster Nov 26, 2025
fa40522
Merge branch 'js/ci-github-setup-go-update'
gitster Nov 26, 2025
eb474aa
Merge branch 'js/mingw-assign-comma-fix'
gitster Nov 26, 2025
35eaf96
Merge branch 'js/cmake-libgit-fix'
gitster Nov 26, 2025
e539545
Merge branch 'js/wincred-get-credential-alloc-fix'
gitster Nov 26, 2025
d65eab5
Merge branch 'pw/worktree-list-display-width-fix'
gitster Nov 26, 2025
536d284
Merge branch 'jk/ci-windows-meson-test-fix'
gitster Nov 26, 2025
54af646
Merge branch 'gf/win32-pthread-cond-wait-err'
gitster Nov 26, 2025
b31ab93
The fourth batch
gitster Nov 26, 2025
bf25fca
t0614: use numerical comparison with test_line_count
bk2204 Nov 28, 2025
a92f243
t5564: fix test hang under zsh's sh mode
bk2204 Nov 28, 2025
c7e3b80
xdiff: optimize patience diff's LCS search
ychin Nov 27, 2025
136f86a
Documentation/git-replay.adoc: fix errors around revision range
newren Nov 29, 2025
fe4e607
last-modified: fix use of uninitialized memory
To1ne Nov 28, 2025
38f8805
diff-index: don't queue unchanged filepairs with diff_change()
rscharfe Nov 30, 2025
0fec747
Merge branch 'lo/repo-info-all'
gitster Dec 1, 2025
ffd9bb1
Merge branch 'ja/doc-synopsis-style'
gitster Dec 1, 2025
3b212a8
Merge branch 'jc/whitespace-incomplete-line'
gitster Dec 1, 2025
6912d80
Merge branch 'je/doc-data-model'
gitster Dec 1, 2025
aea8cc3
Merge branch 'jk/asan-bonanza'
gitster Dec 1, 2025
f0ef5b6
The fifth batch
gitster Dec 1, 2025
b14f1df
branch: advice using git-help(1) instead of man(1)
LemmingAvalanche Dec 2, 2025
cfdce4a
doc: remove stray text in Git data model
jvns Dec 2, 2025
8ef7355
doc: git-pull: fix 'git --rebase abort' typo
jvns Dec 3, 2025
05491b9
last-modified: support sparse checkouts
dscho Nov 29, 2025
9ce3478
meson: ignore subprojects/.wraplock
To1ne Dec 2, 2025
574ac61
meson: only detect ICONV_OMITS_BOM if possible
To1ne Dec 2, 2025
4061692
meson: use is_cross_build() where possible
To1ne Dec 3, 2025
6fd44f5
repo: remove blank line from Documentation/git-repo.adoc
lucasoshiro Dec 4, 2025
768cf99
repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsis
lucasoshiro Dec 4, 2025
76c0704
repo: add -z as an alias for --format=nul to git-repo-structure
lucasoshiro Dec 4, 2025
0c67076
Merge branch 'en/xdiff-cleanup-2'
gitster Dec 5, 2025
5eadcbf
Merge branch 'js/strip-scalar-too'
gitster Dec 5, 2025
0534b78
Merge branch 'jc/optional-path'
gitster Dec 5, 2025
77f8d99
Merge branch 'kh/doc-committer-date-is-author-date'
gitster Dec 5, 2025
85f9933
Merge branch 'js/ci-show-breakage-in-dockerized-jobs'
gitster Dec 5, 2025
1b40ddc
Merge branch 'cc/fast-import-strip-if-invalid'
gitster Dec 5, 2025
9d442ce
Merge branch 'ps/object-source-management'
gitster Dec 5, 2025
e74a6e0
Merge branch 'rs/config-unset-opthelp-fix'
gitster Dec 5, 2025
644aed8
Merge branch 'rs/config-set-multi-error-message-fix'
gitster Dec 5, 2025
bdc5341
The sixth batch
gitster Dec 5, 2025
e1ecf0d
wrapper: add git_mkdtemp()
rscharfe Dec 6, 2025
5ecd359
compat: use git_mkdtemp()
rscharfe Dec 6, 2025
47bf147
compat: remove mingw_mktemp()
rscharfe Dec 6, 2025
7bef658
banned.h: ban mktemp(3)
rscharfe Dec 6, 2025
10bba53
compat: remove gitmkdtemp()
rscharfe Dec 6, 2025
8cbbdc9
doc: join default pre-commit paragraphs
LemmingAvalanche Dec 8, 2025
48176f9
connect: plug protocol capability leak
gitster Dec 7, 2025
41d4250
doc: send-email: fix broken list continuation
LemmingAvalanche Dec 8, 2025
d4bc39a
config: document 'gui.GCWarning'
matthewhughes934 Dec 8, 2025
c64b234
Merge branch 'pw/replay-exclude-gpgsig-fix'
gitster Dec 8, 2025
fe0e6ff
Merge branch 'bc/zsh-testsuite'
gitster Dec 8, 2025
7fc0b33
Merge branch 'yc/xdiff-patience-optim'
gitster Dec 8, 2025
bbefa15
Merge branch 'en/replay-doc-revision-range'
gitster Dec 8, 2025
e85ae27
The seventh batch
gitster Dec 8, 2025
794c979
Merge branch 'tc/last-modified-active-paths-optimization'
gitster Dec 14, 2025
84ca5a2
Merge branch 'rs/diff-index-find-copies-harder-optim'
gitster Dec 14, 2025
2178707
Merge branch 'js/last-modified-with-sparse-checkouts'
gitster Dec 14, 2025
25ce088
Merge branch 'tc/meson-cross-compile-fix'
gitster Dec 14, 2025
c382988
Merge branch 'je/doc-pull'
gitster Dec 14, 2025
2378ebc
Merge branch 'kh/advise-w-git-help-in-branch'
gitster Dec 14, 2025
affdbe4
Merge branch 'lo/repo-struct-z'
gitster Dec 14, 2025
f29e987
Merge branch 'je/doc-data-model'
gitster Dec 14, 2025
d8af7ca
The eighth batch
gitster Dec 14, 2025
dbe5427
Merge branch 'ps/object-read-stream'
gitster Dec 16, 2025
72154ce
Merge branch 'gf/win32-pthread-cond-init'
gitster Dec 16, 2025
91bfbf4
Merge branch 'rs/ban-mktemp'
gitster Dec 16, 2025
e7ef0ca
The ninth batch
gitster Dec 16, 2025
1c22dfd
Merge branch 'jc/capability-leak'
gitster Dec 17, 2025
8596426
Merge branch 'kh/doc-pre-commit-fix'
gitster Dec 17, 2025
1c8a1b7
Merge branch 'mh/doc-config-gui-gcwarning'
gitster Dec 17, 2025
f3951e3
Merge branch 'kh/doc-send-email-paragraph-fix'
gitster Dec 17, 2025
c4a0c88
The 10th batch
gitster Dec 17, 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
28 changes: 19 additions & 9 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
* whitespace=trail,space
*.[ch] whitespace=indent,trail,space,incomplete diff=cpp
*.sh whitespace=indent,trail,space,incomplete 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 whitespace=trail,space,incomplete
/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 (git@vger.kernel.org) 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 (git@vger.kernel.org) 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