Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
434 commits
Select commit Hold shift + click to select a range
a469d35
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
4223c88
commit: accept "scissors" with CR/LF line endings
lbonanomi Jun 24, 2020
217b1f1
t0014: fix indentation
jglathe Jun 2, 2020
f5148e5
git-gui: accommodate for intent-to-add files
dscho Aug 12, 2020
00725dd
vcpkg_install: add comment regarding slow network connections
PhilipOakley Oct 6, 2019
d3e83cc
Add schannel to curl installation
dennisameling Dec 6, 2020
c61602d
hash-object: demonstrate a >4GB/LLP64 problem
PhilipOakley Oct 31, 2021
0ccb957
object-file.c: use size_t for header lengths
PhilipOakley Nov 12, 2021
8978e72
CMake: default Visual Studio generator has changed
PhilipOakley Jul 1, 2021
b80b5d6
hash algorithms: use size_t for section lengths
PhilipOakley Nov 12, 2021
c4178f1
.gitignore: add Visual Studio CMakeSetting.json file
PhilipOakley Apr 24, 2021
1bf4b76
hash-object --stdin: verify that it works with >4GB/LLP64
PhilipOakley Dec 6, 2021
7816c16
subtree: update `contrib/subtree` `test` target
vdye Aug 5, 2021
8ef3e27
CMakeLists: add default "x64-windows" arch for Visual Studio
PhilipOakley Apr 22, 2021
4ef57bd
hash-object: add another >4GB/LLP64 test case
PhilipOakley Dec 6, 2021
23be593
setup: properly use "%(prefix)/" when in WSL
derrickstolee Apr 13, 2022
dc56461
cmake(): allow setting HOST_CPU for cross-compilation
dennisameling Jul 19, 2021
a146f28
mingw: allow for longer paths in `parse_interpreter()`
dscho Apr 2, 2021
9264379
compat/vcbuild: document preferred way to build in Visual Studio
dscho May 17, 2021
1865813
http: optionally send SSL client certificate
pascalmuller Jun 23, 2021
2f94a31
ci: run `contrib/subtree` tests in CI builds
vdye Aug 5, 2021
2263509
CMake: show Win32 and Generator_platform build-option values
PhilipOakley May 10, 2021
215755d
hash-object: add a >4GB/LLP64 test case using filtered input
PhilipOakley Dec 7, 2021
336add8
mingw: stop hard-coding `CC = gcc`
dscho Nov 23, 2025
28aa68f
mingw: drop the -D_USE_32BIT_TIME_T option
dscho Nov 21, 2025
319e430
mingw: only use -Wl,--large-address-aware for 32-bit builds
dscho Nov 21, 2025
9a21881
mingw: avoid over-specifying `--pic-executable`
dscho Nov 21, 2025
7de4453
mingw: set the prefix and HOST_CPU as per MSYS2's settings
dscho Nov 21, 2025
bb54e4c
mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
dscho Nov 21, 2025
e66b44b
mingw: rely on MSYS2's metadata instead of hard-coding it
dscho Nov 21, 2025
f9020a0
compat/mingw.c: do not warn when failing to get owner
derrickstolee Apr 13, 2022
6df3465
mingw: $env:TERM="xterm-256color" for newer OSes
rkitover Apr 12, 2022
88605cb
winansi: check result and Buffer before using Name
1480c1 May 28, 2022
cc31a60
Add config option `windows.appendAtomically`
sunzhuoshi Jan 15, 2022
5f9348a
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
0266f26
MinGW: link as terminal server aware
rimrul Jul 10, 2022
f7b50f5
Fix Windows version resources
Mortein Nov 2, 2022
bb3fe7c
status: fix for old-style submodules with commondir
sceptical-coder Oct 28, 2022
d19431f
windows: skip linking `git-<command>` for built-ins
dscho Jan 27, 2023
6ebcb26
Merge branch 'dscho-avoid-d-f-conflict-in-vs-master'
dscho Apr 13, 2021
13ad956
clink.pl: fix libexpatd.lib link error when using MSVC
jeffhostetler Mar 30, 2021
b091534
Makefile: clean up .ilk files when MSVC=1
jeffhostetler Apr 5, 2021
28a74a0
vcbuild: add support for compiling Windows resource files
jeffhostetler Apr 5, 2021
6c019fe
config.mak.uname: add git.rc to MSVC builds
jeffhostetler Apr 5, 2021
a212a91
mingw: ensure valid CTYPE
dscho Feb 21, 2017
73d2092
clink.pl: ignore no-stack-protector arg on MSVC=1 builds
jeffhostetler Apr 5, 2021
f17966c
mingw: always define `ETC_*` for MSYS2 environments
dscho Nov 21, 2025
27bc190
mingw: allow `git.exe` to be used instead of the "Git wrapper"
dscho Jan 31, 2020
dfb640e
clink.pl: move default linker options for MSVC=1 builds
jeffhostetler Apr 5, 2021
2d675f5
http: optionally load libcurl lazily
dscho May 6, 2023
4bbfcaa
max_tree_depth: lower it for clang builds in general on Windows
dscho Nov 21, 2025
2fffaf6
mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system dire…
dscho Aug 25, 2020
486e910
cmake: install headless-git.
Berrysoft Mar 11, 2023
0809bbe
git.rc: include winuser.h
rimrul Dec 2, 2023
5f3ac5d
http: support lazy-loading libcurl also on Windows
dscho May 7, 2023
6b1abf6
http: when loading libcurl lazily, allow for multiple SSL backends
dscho May 7, 2023
a9bd866
mingw: do load libcurl dynamically by default
dscho May 7, 2023
7739e04
Add a GitHub workflow to verify that Git/Scalar work in Nano Server
dscho Nov 2, 2022
46b73f6
mingw: suggest `windows.appendAtomically` in more cases
dsl101 Jul 28, 2023
dd6288b
win32: use native ANSI sequence processing, if possible
dscho Nov 22, 2023
33841a5
common-main.c: fflush stdout buffer upon exit
chengzhuo5 Apr 8, 2024
9463106
t5601/t7406(mingw): do run tests with symlink support
dscho Apr 9, 2024
0cc6cd5
win32: ensure that `localtime_r()` is declared even in i686 builds
dscho May 21, 2024
ac34878
Fallback to AppData if XDG_CONFIG_HOME is unset
ariellourenco Jul 2, 2024
70bb34b
run-command: be helpful with Git LFS fails on Windows 7
dscho Jul 4, 2024
2363edc
survey: stub in new experimental 'git-survey' command
Apr 29, 2024
b7fa10f
survey: add command line opts to select references
Apr 29, 2024
942bbfc
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
b7c6c74
survey: add object count summary
derrickstolee Sep 2, 2024
98f7436
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
a8e9988
survey: show progress during object walk
derrickstolee Sep 2, 2024
4335560
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
a015c59
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
eade8c0
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
c11404e
compat/mingw: handle WSA errors in strerror
rimrul Dec 22, 2024
ed3bbd3
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
640d8a8
compat/mingw: drop outdated comment
rimrul Dec 22, 2024
19de67f
revision: create mark_trees_uninteresting_dense()
derrickstolee Sep 6, 2024
c5dee63
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
9345c86
ci: work around a problem with HTTP/2 vs libcurl v8.10.0
dscho Sep 24, 2024
a38f86c
t5563: verify that NTLM authentication works
dscho Nov 26, 2025
2ff1538
http: disallow NTLM authentication by default
dscho Nov 26, 2025
70c92e7
t0301: actually test credential-cache on Windows
rimrul Dec 29, 2024
a554f9b
http: warn if might have failed because of NTLM
dscho Nov 26, 2025
3f8e7c5
credential-cache: handle ECONNREFUSED gracefully
rimrul Dec 22, 2024
0e2e179
reftable: do make sure to use custom allocators
dscho Mar 6, 2025
7d3b7ff
check-whitespace: avoid alerts about upstream commits
dscho Jun 3, 2025
731b6d3
t/t5571-prep-push-hook.sh: Add test with writing to stderr
t-b Jan 26, 2026
252d160
credential: advertise NTLM suppression and allow helpers to re-enable
dscho Feb 9, 2026
0f29e91
dir: do not traverse mount points
maks244 Mar 30, 2026
e34bb28
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
c920f80
Merge branch 'drive-prefix'
dscho Jun 8, 2018
9c472e2
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
f0eb90b
Merge branch 'msys2-python'
dscho May 31, 2019
e7e122e
Update mimalloc to v2.2.7 (#6048)
dscho Jan 19, 2026
31cc390
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
e373715
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
57f1b5a
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
963e861
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
036a3eb
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
ac74ac6
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
0cd60c9
Merge 'add-p-many-files'
dscho Jun 8, 2018
5e453f1
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
346ef22
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
3f87d1d
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
ad18ba3
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
9cd8945
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
4cfecaa
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
419f7f5
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
7b71729
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
18bfd3a
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
372b998
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
bc6ba87
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
263f7a4
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
01c44de
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
cd4b452
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
da0386d
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
3b50a92
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
40aeca3
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
7ca2430
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
7c84d3e
Fix Windows version resources (#4092)
dscho Nov 3, 2022
9582f89
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
370f597
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
90084b6
Add full `mingw-w64-git` (i.e. regular MSYS2 ecosystem) support (#5971)
dscho Nov 25, 2025
5a77b24
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
af37339
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
40e2525
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
b4d495c
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
2824217
Merge branch 'nano-server'
dscho Aug 7, 2023
b6feefa
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
8495d90
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
ad71fed
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
3589d6d
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
d74ae3f
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
f1afda0
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
f24b271
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
b1566f6
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
f29cf1f
Add path walk API and its use in 'git pack-objects' (#5171)
derrickstolee Sep 25, 2024
cc5d7d2
Add experimental 'git survey' builtin (#5174)
dscho Sep 26, 2024
200d428
credential-cache: handle ECONNREFUSED gracefully (#5329)
dscho Jan 1, 2025
8142fd2
Merge branch 'reftable-vs-custom-allocators'
dscho Jun 2, 2025
aa48654
Merge branch 'check-whitespace-only-downstream'
dscho Jun 3, 2025
b99ff10
t/t5571-prep-push-hook.sh: Add test with writing to stderr (#6063)
dscho Jan 27, 2026
2731221
Merge branch 'disallow-ntlm-auth-by-default'
dscho Feb 12, 2026
c999743
Don't traverse mount points in `remove_dir_recurse()` (#6151)
dscho Mar 31, 2026
123c79c
win32: thread-utils: handle multi-socket systems
rimrul Feb 21, 2026
ba2db55
Detect number of cores better on multi-socket systems (#6108)
dscho Apr 6, 2026
bada4bc
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
91fb7ff
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
ca3a902
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
d1c5be1
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
4764175
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
9a8a5fd
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
06e6ac8
fscache: load directories only once
kblees Jun 24, 2014
0a87028
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
939fe2d
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
5f8f9ed
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
260fa55
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
a77d57e
ci(macos): skip the `git p4` tests
dscho Nov 13, 2025
3127f7a
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
00bb68a
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
21c0903
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
eb3dee2
ci(macos): skip the `git p4` tests (#5954)
dscho Nov 14, 2025
334d051
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
1a018d0
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
fba04fe
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
da03204
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
c2f237d
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
c6fdd8f
checkout.c: enable fscache for checkout again
Jan 30, 2018
f288d1a
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
be117ca
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
5f82193
fscache: fscache takes an initial size
benpeart Nov 2, 2018
f571ee7
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
b17c1ab
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
5fd4c12
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
46a799d
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
d483f78
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
22de66a
fscache: add fscache hit statistics
benpeart Sep 25, 2018
9df1da2
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
579d425
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
7057bcc
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
76621dc
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
42fa270
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
740ba37
clean: make use of FSCache
dscho Dec 11, 2018
756e373
Merge branch 'fscache'
dscho Nov 15, 2018
858dec2
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
f67a7b8
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
05527a7
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
6c80f38
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
b8a7891
mingw: support long paths
kblees Jul 28, 2015
f07c648
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
0b048a6
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
8cf88c8
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
5913b03
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
560f57a
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
e65b1e9
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
0046c75
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
063fa72
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
2f7aa93
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
fd4393b
gitattributes: mark .png files as binary
dscho Oct 11, 2018
d6023e4
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
40d85fc
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
f1846f2
mingw: introduce code to detect whether we're inside a Windows container
zcube Apr 23, 2018
bbb7777
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
68c5df3
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
50132a1
mingw: when running in a Windows container, try to rename() harder
zcube Apr 23, 2018
7b02b5f
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
44a63d3
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
2941911
mingw: move the file_attr_to_st_mode() function definition
zcube Apr 23, 2018
b8498b0
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
9c4a3b6
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
566add0
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
321b1f8
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
e6bd949
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
50c3456
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
b2cfbea
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
fd8ff66
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
3a94764
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
dc17984
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
0361a2f
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
2b416f7
mingw: kill child processes in a gentler way
dscho May 17, 2017
709b80b
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
2259c00
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
5743ca1
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
893a8e2
mingw: really handle SIGINT
dscho Apr 22, 2018
b128ba4
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
fd86795
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
27c9085
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
2d4fafd
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
f54641d
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
8ec31e8
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
02208e5
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
1196f6f
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
7157f67
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
a9302e6
Merge branch 'long-paths'
dscho Nov 15, 2018
52b8979
Add an issue template
shiftkey Feb 18, 2016
121a16f
Merge branch 'msys2'
dscho Nov 15, 2018
27a8471
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
fb6102e
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
47175e7
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
cf5031e
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
d1f34d3
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
b1ac73a
Merge branch 'busybox-w32'
dscho Feb 7, 2019
2e43350
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
443fd4c
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
26b5e44
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
1c46eef
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
f9d2009
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
a622b40
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
7e509c4
Merge 'readme' into HEAD
dscho Jun 7, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions Documentation/RelNotes/2.54.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,21 @@ UI, Workflows & Features
* "git repo info -h" and "git repo structure -h" limit their help output
to the part that is specific to the subcommand.

* "git format-patch --cover-letter" learns to use a simpler format
instead of the traditional shortlog format to list its commits with
a new --commit-list-format option and format.commitListFormat
configuration variable.

* `git backfill` learned to accept revision and pathspec arguments.

* "git replay" (experimental) learns, in addition to "pick" and
"replay", a new operating mode "revert".

* git replay now supports replaying down to the root commit.

* Handling of signed commits and tags in fast-import has been made more
configurable.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand Down Expand Up @@ -267,6 +282,40 @@ Performance, Internal Implementation, Development Support etc.
* In case homebrew breaks REG_ENHANCED again, leave a in-code comment
to suggest use of our replacement regex as a workaround.

* MinGW build updates.

* The way dash 0.5.13 handles non-ASCII contents in here-doc
is buggy and breaks our existing tests, which unfortunately
have been rewritten to avoid triggering the bug.

* Object name handling (disambiguation and abbreviation) has been
refactored to be backend-generic, moving logic into the respective
object database backends.

* pack-objects's --stdin-packs=follow mode learns to handle
excluded-but-open packs.

* A few code paths that spawned child processes for network
connection weren't wait(2)ing for their children and letting "init"
reap them instead; they have been tightened.

* Adjust the codebase for C23 that changes functions like strchr()
that discarded constness when they return a pointer into a const
string to preserve constness.

* A handful of inappropriate uses of the_repository have been
rewritten to use the right repository structure instance in the
read-cache.c codepath.

* Internals of "git fsck" have been refactored to not depend on the
global `the_repository` variable.

* Reduce dependency on `the_repository` in add-patch.c file.

* The way the "git log -L<range>:<file>" feature is bolted onto the
log/diff machinery is being reworked a bit to make the feature
compatible with more diff options, like -S/G.


Fixes since v2.53
-----------------
Expand Down Expand Up @@ -445,6 +494,21 @@ Fixes since v2.53
refspec is a single-object refspec, which has been corrected.
(merge 4e5dc601dd kj/refspec-parsing-outside-repository later to maint).

* Fix a regression in writing the commit-graph where commits with dates
exceeding 34 bits (beyond year 2514) could cause an underflow and
crash Git during the generation data overflow chunk writing.

* The value of a wrong pointer variable was referenced in an error
message that reported that it shouldn't be NULL.
(merge 753ecf4205 yc/path-walk-fix-error-reporting later to maint).

* The check in "receive-pack" to prevent a checked out branch from
getting updated via updateInstead mechanism has been corrected.

* "git backfill" is capable of auto-detecting a sparsely checked out
working tree, which was broken.
(merge 339eba65a7 th/backfill-auto-detect-sparseness-fix later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge d79fff4a11 jk/remote-tracking-ref-leakfix later to maint).
(merge 7a747f972d dd/t5403-modernise later to maint).
Expand Down Expand Up @@ -495,3 +559,7 @@ Fixes since v2.53
(merge fc8a4f15e7 gi/doc-boolean-config-typofix later to maint).
(merge 37182267a0 kh/doc-interpret-trailers-1 later to maint).
(merge f64c50e768 jc/rerere-modern-strbuf-handling later to maint).
(merge 699248d89e th/t8003-unhide-git-failures later to maint).
(merge d8e34f971b za/t2000-modernise later to maint).
(merge 849988bc74 th/t6101-unhide-git-failures later to maint).
(merge 0f0ce07625 sp/doc-gitignore-oowt later to maint).
5 changes: 5 additions & 0 deletions Documentation/config/format.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@ format.coverLetter::
generate a cover-letter only when there's more than one patch.
Default is false.

format.commitListFormat::
When the `--cover-letter-format` option is not given, `format-patch`
uses the value of this variable to decide how to format the entry of
each commit. Defaults to `shortlog`.

format.outputDirectory::
Set a custom directory to store the resulting files instead of the
current working directory. All directory components will be created.
Expand Down
30 changes: 15 additions & 15 deletions Documentation/config/hook.adoc
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
hook.<name>.command::
The command to execute for `hook.<name>`. `<name>` is a unique
"friendly" name that identifies this hook. (The hook events that
trigger the command are configured with `hook.<name>.event`.) The
value can be an executable path or a shell oneliner. If more than
one value is specified for the same `<name>`, only the last value
parsed is used. See linkgit:git-hook[1].
hook.<friendly-name>.command::
The command to execute for `hook.<friendly-name>`. `<friendly-name>`
is a unique name that identifies this hook. The hook events that
trigger the command are configured with `hook.<friendly-name>.event`.
The value can be an executable path or a shell oneliner. If more than
one value is specified for the same `<friendly-name>`, only the last
value parsed is used. See linkgit:git-hook[1].

hook.<name>.event::
The hook events that trigger `hook.<name>`. The value is the name
of a hook event, like "pre-commit" or "update". (See
hook.<friendly-name>.event::
The hook events that trigger `hook.<friendly-name>`. The value is the
name of a hook event, like "pre-commit" or "update". (See
linkgit:githooks[5] for a complete list of hook events.) On the
specified event, the associated `hook.<name>.command` is executed.
This is a multi-valued key. To run `hook.<name>` on multiple
specified event, the associated `hook.<friendly-name>.command` is executed.
This is a multi-valued key. To run `hook.<friendly-name>` on multiple
events, specify the key more than once. An empty value resets
the list of events, clearing any previously defined events for
`hook.<name>`. See linkgit:git-hook[1].
`hook.<friendly-name>`. See linkgit:git-hook[1].

hook.<name>.enabled::
Whether the hook `hook.<name>` is enabled. Defaults to `true`.
hook.<friendly-name>.enabled::
Whether the hook `hook.<friendly-name>` is enabled. Defaults to `true`.
Set to `false` to disable the hook without removing its
configuration. This is particularly useful when a hook is defined
in a system or global config file and needs to be disabled for a
Expand Down
5 changes: 4 additions & 1 deletion Documentation/git-backfill.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,12 @@ OPTIONS
current sparse-checkout. If the sparse-checkout feature is enabled,
then `--sparse` is assumed and can be disabled with `--no-sparse`.

You may also specify the commit limiting options from linkgit:git-rev-list[1].

SEE ALSO
--------
linkgit:git-clone[1].
linkgit:git-clone[1],
linkgit:git-rev-list[1]

GIT
---
Expand Down
9 changes: 5 additions & 4 deletions Documentation/git-fast-import.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,10 @@ fast-import stream! This option is enabled automatically for
remote-helpers that use the `import` capability, as they are
already trusted to run their own code.

`--signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)`::
`--signed-tags=<mode>`::
Specify how to handle signed tags. Behaves in the same way as
the `--signed-commits=<mode>` below, except that the
`strip-if-invalid` mode is not yet supported. Like for signed
commits, the default mode is `verbatim`.
the `--signed-commits=<mode>` below. Like for signed commits,
the default mode is `verbatim`.

`--signed-commits=<mode>`::
Specify how to handle signed commits. The following <mode>s
Expand All @@ -90,6 +89,8 @@ already trusted to run their own code.
commit signatures and replaces invalid signatures with newly created ones.
Valid signatures are left unchanged. If `<keyid>` is provided, that key is
used for signing; otherwise the configured default signing key is used.
* `abort-if-invalid` will make this program die when encountering a signed
commit that is unable to be verified.

Options for Frontends
~~~~~~~~~~~~~~~~~~~~~
Expand Down
20 changes: 17 additions & 3 deletions Documentation/git-format-patch.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ SYNOPSIS
[(--reroll-count|-v) <n>]
[--to=<email>] [--cc=<email>]
[--[no-]cover-letter] [--quiet]
[--commit-list-format=<format-spec>]
[--[no-]encode-email-headers]
[--no-notes | --notes[=<ref>]]
[--interdiff=<previous>]
Expand Down Expand Up @@ -318,9 +319,21 @@ feeding the result to `git send-email`.

--cover-letter::
--no-cover-letter::
In addition to the patches, generate a cover letter file
containing the branch description, shortlog and the overall diffstat. You can
fill in a description in the file before sending it out.
In addition to the patches, generate a cover letter file containing the
branch description, commit list and the overall diffstat. You can fill
in a description in the file before sending it out.

--commit-list-format=<format-spec>::
Specify the format in which to generate the commit list of the patch
series. The accepted values for format-spec are `shortlog`, `modern` or
a format-string prefixed with `log:`. E.g. `log: %s (%an)`.
`modern` is the same as `log:%w(72)[%(count)/%(total)] %s`.
The `log:` prefix can be omitted if the format-string has a `%` in it
(expecting that it is part of `%<placeholder>`).
Defaults to the `format.commitListFormat` configuration variable, if
set, or `shortlog`.
This option given from the command-line implies the use of
`--cover-letter` unless `--no-cover-letter` is given.

--encode-email-headers::
--no-encode-email-headers::
Expand Down Expand Up @@ -453,6 +466,7 @@ with configuration variables.
signOff = true
outputDirectory = <directory>
coverLetter = auto
commitListFormat = shortlog
coverFromDescription = auto
------------

Expand Down
27 changes: 20 additions & 7 deletions Documentation/git-hook.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ git-hook - Run git hooks
SYNOPSIS
--------
[verse]
'git hook' run [--ignore-missing] [--to-stdin=<path>] <hook-name> [-- <hook-args>]
'git hook' list [-z] <hook-name>
'git hook' run [--allow-unknown-hook-name] [--ignore-missing] [--to-stdin=<path>] <hook-name> [-- <hook-args>]
'git hook' list [--allow-unknown-hook-name] [-z] [--show-scope] <hook-name>

DESCRIPTION
-----------
Expand Down Expand Up @@ -44,7 +44,7 @@ event`), and then `~/bin/spellchecker` will have a chance to check your commit
message (during the `commit-msg` hook event).

Commands are run in the order Git encounters their associated
`hook.<name>.event` configs during the configuration parse (see
`hook.<friendly-name>.event` configs during the configuration parse (see
linkgit:git-config[1]). Although multiple `hook.linter.event` configs can be
added, only one `hook.linter.command` event is valid - Git uses "last-one-wins"
to determine which command to run.
Expand Down Expand Up @@ -76,10 +76,10 @@ first start `~/bin/linter --cpp20` and second start `~/bin/leak-detector`. It
would evaluate the output of each when deciding whether to proceed with the
commit.

For a full list of hook events which you can set your `hook.<name>.event` to,
For a full list of hook events which you can set your `hook.<friendly-name>.event` to,
and how hooks are invoked during those events, see linkgit:githooks[5].

Git will ignore any `hook.<name>.event` that specifies an event it doesn't
Git will ignore any `hook.<friendly-name>.event` that specifies an event it doesn't
recognize. This is intended so that tools which wrap Git can use the hook
infrastructure to run their own hooks; see "WRAPPERS" for more guidance.

Expand Down Expand Up @@ -113,14 +113,21 @@ Any positional arguments to the hook should be passed after a
mandatory `--` (or `--end-of-options`, see linkgit:gitcli[7]). See
linkgit:githooks[5] for arguments hooks might expect (if any).

list [-z]::
list [-z] [--show-scope]::
Print a list of hooks which will be run on `<hook-name>` event. If no
hooks are configured for that event, print a warning and return 1.
Use `-z` to terminate output lines with NUL instead of newlines.

OPTIONS
-------

--allow-unknown-hook-name::
By default `git hook run` and `git hook list` will bail out when
`<hook-name>` is not a hook event known to Git (see linkgit:githooks[5]
for the list of known hooks). This is meant to help catch typos
such as `prereceive` when `pre-receive` was intended. Pass this
flag to allow unknown hook names.

--to-stdin::
For "run"; specify a file which will be streamed into the
hook's stdin. The hook will receive the entire file from
Expand All @@ -134,6 +141,12 @@ OPTIONS
-z::
Terminate "list" output lines with NUL instead of newlines.

--show-scope::
For "list"; prefix each configured hook's friendly name with a
tab-separated config scope (e.g. `local`, `global`, `system`),
mirroring the output style of `git config --show-scope`. Traditional
hooks from the hookdir are unaffected.

WRAPPERS
--------

Expand All @@ -153,7 +166,7 @@ Then, in your 'mywrapper' tool, you can invoke any users' configured hooks by
running:

----
git hook run mywrapper-start-tests \
git hook run --allow-unknown-hook-name mywrapper-start-tests \
# providing something to stdin
--stdin some-tempfile-123 \
# execute hooks in serial
Expand Down
25 changes: 18 additions & 7 deletions Documentation/git-pack-objects.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,24 @@ base-name::
included packs (those not beginning with `^`), excluding any
objects listed in the excluded packs (beginning with `^`).
+
When `mode` is "follow", objects from packs not listed on stdin receive
special treatment. Objects within unlisted packs will be included if
those objects are (1) reachable from the included packs, and (2) not
found in any excluded packs. This mode is useful, for example, to
resurrect once-unreachable objects found in cruft packs to generate
packs which are closed under reachability up to the boundary set by the
excluded packs.
When `mode` is "follow" packs may additionally be prefixed with `!`,
indicating that they are excluded but not necessarily closed under
reachability. In addition to objects in included packs, the resulting
pack may include additional objects based on the following:
+
--
* If any packs are marked with `!`, then objects reachable from such
packs or included ones via objects outside of excluded-closed packs
will be included. In this case, all `^` packs are treated as closed
under reachability.
* Otherwise (if there are no `!` packs), objects within unlisted packs
will be included if those objects are (1) reachable from the
included packs, and (2) not found in any excluded packs.
--
+
This mode is useful, for example, to resurrect once-unreachable
objects found in cruft packs to generate packs which are closed under
reachability up to the boundary set by the excluded packs.
+
Incompatible with `--revs`, or options that imply `--revs` (such as
`--all`), with the exception of `--unpacked`, which is compatible.
Expand Down
Loading
Loading