Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
416 commits
Select commit Hold shift + click to select a range
a41c95f
hash-object: demonstrate a >4GB/LLP64 problem
PhilipOakley Oct 31, 2021
4d4c3ce
object-file.c: use size_t for header lengths
PhilipOakley Nov 12, 2021
8a999e2
hash algorithms: use size_t for section lengths
PhilipOakley Nov 12, 2021
dc59943
hash-object --stdin: verify that it works with >4GB/LLP64
PhilipOakley Dec 6, 2021
a022cf1
hash-object: add another >4GB/LLP64 test case
PhilipOakley Dec 6, 2021
48ec2cf
setup: properly use "%(prefix)/" when in WSL
derrickstolee Apr 13, 2022
520110d
hash-object: add a >4GB/LLP64 test case using filtered input
PhilipOakley Dec 7, 2021
a85964f
compat/mingw.c: do not warn when failing to get owner
derrickstolee Apr 13, 2022
b9ed276
mingw: $env:TERM="xterm-256color" for newer OSes
rkitover Apr 12, 2022
6905977
winansi: check result and Buffer before using Name
1480c1 May 28, 2022
b994e76
Add config option `windows.appendAtomically`
sunzhuoshi Jan 15, 2022
ebe433c
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
d21cf28
MinGW: link as terminal server aware
rimrul Jul 10, 2022
4cd2742
Fix Windows version resources
Mortein Nov 2, 2022
5f60a84
status: fix for old-style submodules with commondir
sceptical-coder Oct 28, 2022
6c106de
http: optionally load libcurl lazily
dscho May 6, 2023
b4ae94b
http: support lazy-loading libcurl also on Windows
dscho May 7, 2023
20c7fe9
http: when loading libcurl lazily, allow for multiple SSL backends
dscho May 7, 2023
ebb9668
windows: skip linking `git-<command>` for built-ins
dscho Jan 27, 2023
311a237
mingw: do load libcurl dynamically by default
dscho May 7, 2023
6ce01ae
Add a GitHub workflow to verify that Git/Scalar work in Nano Server
dscho Nov 2, 2022
439ff95
mingw: suggest `windows.appendAtomically` in more cases
dsl101 Jul 28, 2023
d8834e2
win32: use native ANSI sequence processing, if possible
dscho Nov 22, 2023
a082fa0
git.rc: include winuser.h
rimrul Dec 2, 2023
d8c36b4
common-main.c: fflush stdout buffer upon exit
chengzhuo5 Apr 8, 2024
31648e8
t5601/t7406(mingw): do run tests with symlink support
dscho Apr 9, 2024
9739217
survey: stub in new experimental 'git-survey' command
Apr 29, 2024
97b7e6c
survey: add command line opts to select references
Apr 29, 2024
7cdd124
win32: ensure that `localtime_r()` is declared even in i686 builds
dscho May 21, 2024
18dcf0f
Fallback to AppData if XDG_CONFIG_HOME is unset
ariellourenco Jul 2, 2024
f34b55f
run-command: be helpful with Git LFS fails on Windows 7
dscho Jul 4, 2024
d43207f
revision: create mark_trees_uninteresting_dense()
derrickstolee Sep 6, 2024
366e52a
ci: work around a problem with HTTP/2 vs libcurl v8.10.0
dscho Sep 24, 2024
3517950
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
3fb91e9
survey: add object count summary
derrickstolee Sep 2, 2024
48e88cc
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
67cb37e
survey: show progress during object walk
derrickstolee Sep 2, 2024
8d289b6
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
8f9f1e8
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
1bf6d19
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
d6e28bd
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
40d6f8b
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
2895407
compat/mingw: handle WSA errors in strerror
rimrul Dec 22, 2024
bc9d921
compat/mingw: drop outdated comment
rimrul Dec 22, 2024
60c8674
t0301: actually test credential-cache on Windows
rimrul Dec 29, 2024
00bae2c
credential-cache: handle ECONNREFUSED gracefully
rimrul Dec 22, 2024
bba5cb9
max_tree_depth: lower it for clangarm64 on Windows
dscho Apr 15, 2025
a7ae963
reftable: do make sure to use custom allocators
dscho Mar 6, 2025
bfea0fa
check-whitespace: avoid alerts about upstream commits
dscho Jun 3, 2025
f5795a6
build(deps): bump actions/download-artifact from 4 to 5
dependabot[bot] Aug 12, 2025
5ace416
build(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
bb1fd4e
build(deps): bump actions/setup-python from 5 to 6
dependabot[bot] Sep 8, 2025
2f600b0
refs: forbid clang to complain about unreachable code
dscho Jun 4, 2025
8ae6103
mingw: avoid the comma operator
dscho Jun 5, 2025
75ff1cb
wincred: Avoid memory corruption
elieux Oct 3, 2025
538ad53
build(deps): bump actions/github-script from 7 to 8
dependabot[bot] Sep 8, 2025
bc0c451
Merge branch 'organize-mingw-includes'
dscho Jun 2, 2025
6ead2e1
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
de511c1
Merge branch 'drive-prefix'
dscho Jun 8, 2018
b2f5dbd
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
5e1c488
Merge branch 'msys2-python'
dscho May 31, 2019
fd5020b
Merge branch 'mimalloc-v2.2.3'
dscho Sep 8, 2022
927620b
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
18a807e
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
5530696
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
c7db692
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
d1d633b
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
dca8244
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
43a9336
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
20bfbf8
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
f3d4e9d
Merge 'add-p-many-files'
dscho Jun 8, 2018
affb7fc
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
c63a3f0
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
0c49ed6
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
405b89b
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
10331d6
cmake: install headless-git. (#4338)
dscho Mar 13, 2023
6174a15
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
043231f
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
063572b
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
9caeef6
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
dadfefc
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
a49dbc9
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
0fc2937
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
59b19e2
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
b78dc55
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
5f3267e
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
3f533cc
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
bf50dfb
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
2d82e86
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
4812268
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
6e3e522
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
b5056fe
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
e5ca048
Fix Windows version resources (#4092)
dscho Nov 3, 2022
86dc208
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
e970cf5
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
14aef47
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
da63bf8
Merge branch 'nano-server'
dscho Aug 7, 2023
6fba2fe
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
dc8c89b
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
eca13f8
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
0a5223c
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
de0a1dd
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
9cf0b28
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
07cec48
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
f7c92fc
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
e3213fb
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
557acaa
Add path walk API and its use in 'git pack-objects' (#5171)
derrickstolee Sep 25, 2024
e8a2ec3
Add experimental 'git survey' builtin (#5174)
dscho Sep 26, 2024
8fa616d
credential-cache: handle ECONNREFUSED gracefully (#5329)
dscho Jan 1, 2025
c83fbe7
clangarm64: let the tests pass! (#5586)
dscho Apr 21, 2025
05de655
Merge branch 'reftable-vs-custom-allocators'
dscho Jun 2, 2025
5da78b5
Merge branch 'check-whitespace-only-downstream'
dscho Jun 3, 2025
0935e76
Merge branch 'refs-clang-fix'
dscho Jun 11, 2025
07f757d
mingw: avoid the comma operator (#5660)
dscho Jun 5, 2025
f6ec363
wincred: Avoid memory corruption (#5856)
dscho Oct 6, 2025
7ef3ca3
Merge branch 'upgrade-a-couple-github-actions'
dscho Aug 12, 2025
841a8cf
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
d9079a1
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
54a32ad
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
f08d555
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
ccd4de7
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
3ddcfe5
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
02e3ae6
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
a3a5cf7
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
ac61f86
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
4ad5b9f
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
ccf6735
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
f6efc8f
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
6a0b97b
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
3d9d6c9
fscache: load directories only once
kblees Jun 24, 2014
47fd248
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
10093d9
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
d21c8a2
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
76b5215
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
3611e47
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
c02f837
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
8b4f850
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
5dc8883
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
db0d6ee
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
12fcd60
checkout.c: enable fscache for checkout again
Jan 30, 2018
4b2e017
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
4f1208d
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
c41e8c7
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
1441685
fscache: add fscache hit statistics
benpeart Sep 25, 2018
75dbe44
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
0f600cf
fscache: fscache takes an initial size
benpeart Nov 2, 2018
e7c83f3
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
fc2411a
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
0bc75d5
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
4a1d719
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
ff0bc42
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
3a93731
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
8a2350f
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
35c5d66
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
ebeac48
clean: make use of FSCache
dscho Dec 11, 2018
15de4fd
Merge branch 'fscache'
dscho Nov 15, 2018
bb4a926
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
1dc363c
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
1cb9041
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
56c269a
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
34fff13
mingw: support long paths
kblees Jul 28, 2015
cec4a54
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
2a51817
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
09d0069
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
5482c12
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
dd2a6db
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
8791d96
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
2c4498e
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
ac563d5
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
5c1d475
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
ceff3e9
Win32: implement stat() with symlink support
kblees May 15, 2015
9e5cedd
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
d40863f
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
2a9d291
Win32: remove separate do_lstat() function
kblees May 11, 2015
31d9e0c
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
3ce727d
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
0a615a7
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
652fb8c
Win32: factor out retry logic
kblees May 19, 2015
b775870
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
68c198c
Win32: add symlink-specific error codes
kblees May 15, 2015
917b2cf
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
213dc02
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
c784540
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
5adf32b
Win32: implement readlink()
kblees May 23, 2015
633192b
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
605e9f1
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
75f5522
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
05959e7
mingw: introduce code to detect whether we're inside a Windows container
zcube Apr 23, 2018
21d1546
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
83d0523
mingw: when running in a Windows container, try to rename() harder
zcube Apr 23, 2018
3c3314b
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
cb31c87
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
90d1fe6
mingw: move the file_attr_to_st_mode() function definition
zcube Apr 23, 2018
5f1a64f
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
5c2db36
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
f5b4b2e
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
30315d3
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
659bf91
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
de7a140
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
3ef3784
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
71e5b61
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
c02e516
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
e2e498f
gitattributes: mark .png files as binary
dscho Oct 11, 2018
5dc3a4a
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
328f004
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
d22cc90
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
9134e18
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
ac51eb9
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
7dff0b8
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
4a8a923
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
111651a
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
2173ca2
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
5d0f5c7
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
ab38fed
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
062f413
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
4ff171f
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
b381054
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
cb4350c
mingw: kill child processes in a gentler way
dscho May 17, 2017
9d0703f
mingw: really handle SIGINT
dscho Apr 22, 2018
559b906
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
f37aaab
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
5e4a83a
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
39be204
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
6d96a5f
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
656f8f7
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
5d0e310
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
56ea327
Add an issue template
shiftkey Feb 18, 2016
d131409
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
5b39bc0
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
caf5d0d
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
9123088
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
2b704ab
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
6b8cd9a
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
7403d10
Merge branch 'long-paths'
dscho Nov 15, 2018
ea1203b
Merge branch 'msys2'
dscho Nov 15, 2018
4f11e68
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
d433db7
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
4d28341
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
aaa8fde
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
1ac2242
Merge branch 'busybox-w32'
dscho Feb 7, 2019
ffc706e
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
5aff9cc
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
38f5278
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
db78c24
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
664d75d
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
7200e11
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
5b26d76
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
1ed9925
Merge 'readme' into HEAD
dscho Jun 7, 2018
3b8dce0
diff: stop output garbled message in dry run mode
brandb97 Oct 17, 2025
1454f0a
diff: restore redirection to /dev/null for diff_from_contents
peff Oct 17, 2025
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
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ SpaceBeforeCaseColon: false
# f();
# }
# }
SpaceBeforeParens: ControlStatements
SpaceBeforeParens: ControlStatementsExceptControlMacros

# Don't insert spaces inside empty '()'
SpaceInEmptyParentheses: false
Expand Down
2 changes: 1 addition & 1 deletion Documentation/BreakingChanges.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ These features will be removed.
equivalent `git log --raw`. We have nominated the command for
removal, have changed the command to refuse to work unless the
`--i-still-use-this` option is given, and asked the users to report
when they do so. So far there hasn't been a single complaint.
when they do so.
+
The command will be removed.

Expand Down
11 changes: 7 additions & 4 deletions Documentation/MyFirstContribution.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -908,10 +908,13 @@ Now you should be able to go and check out your newly created branch on GitHub.
=== Sending a PR to GitGitGadget

In order to have your code tested and formatted for review, you need to start by
opening a Pull Request against `gitgitgadget/git`. Head to
https://github.com/gitgitgadget/git and open a PR either with the "New pull
request" button or the convenient "Compare & pull request" button that may
appear with the name of your newly pushed branch.
opening a Pull Request against either `gitgitgadget/git` or `git/git`. Head to
https://github.com/gitgitgadget/git or https://github.com/git/git and open a PR
either with the "New pull request" button or the convenient "Compare & pull
request" button that may appear with the name of your newly pushed branch.

The differences between using `gitgitgadget/git` and `git/git` as your base can
be found [here](https://gitgitgadget.github.io/#should-i-use-gitgitgadget-on-gitgitgadgets-git-fork-or-on-gits-github-mirror)

Review the PR's title and description, as they're used by GitGitGadget
respectively as the subject and body of the cover letter for your change. Refer
Expand Down
99 changes: 99 additions & 0 deletions Documentation/RelNotes/2.51.1.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
Git 2.51.1 Release Notes
========================

There shouldn't be anything exciting to see here. This is primarily
to flush the "do you still use it?" improvements that has landed on
the master front, together with a handful of low-hanging, low-impact
fixes that should be safe.


Fixes since Git 2.51.0
----------------------

* The "do you still use it?" message given by a command that is
deeply deprecated and allow us to suggest alternatives has been
updated.

* The compatObjectFormat extension is used to hide an incomplete
feature that is not yet usable for any purpose other than
developing the feature further. Document it as such to discourage
its use by mere mortals.

* Manual page for "gitk" is updated with the current maintainer's
name.

* Update the instructions for using GGG in the MyFirstContribution
document to say that a GitHub PR could be made against `git/git`
instead of `gitgitgadget/git`.

* Clang-format update to let our control macros be formatted the way we
had them traditionally, e.g., "for_each_string_list_item()" without
space before the parentheses.

* A few places where a size_t value was cast to curl_off_t without
checking has been updated to use the existing helper function.

* The start_delayed_progress() function in the progress eye-candy API
did not clear its internal state, making an initial delay value
larger than 1 second ineffective, which has been corrected.

* Makefile tried to run multiple "cargo build" which would not work
very well; serialize their execution to work around this problem.

* Adjust to the way newer versions of cURL selectively enable tracing
options, so that our tests can continue to work.

* During interactive rebase, using 'drop' on a merge commit led to
an error, which has been corrected.

* "git refs migrate" to migrate the reflog entries from a refs
backend to another had a handful of bugs squashed.

* "git push" had a code path that led to BUG() but it should have
been a die(), as it is a response to a usual but invalid end-user
action to attempt pushing an object that does not exist.

* Various bugs about rename handling in "ort" merge strategy have
been fixed.

* "git diff --no-index" run inside a subdirectory under control of a
Git repository operated at the top of the working tree and stripped
the prefix from the output, and oddballs like "-" (stdin) did not
work correctly because of it. Correct the set-up by undoing what
the set-up sequence did to cwd and prefix.

* Various options to "git diff" that make comparison ignore certain
aspects of the differences (like "space changes are ignored",
"differences in lines that match these regular expressions are
ignored") did not work well with "--name-only" and friends.

* Under a race against another process that is repacking the
repository, especially a partially cloned one, "git fetch" may
mistakenly think some objects we do have are missing, which has
been corrected.

* "git repack --path-walk" lost objects in some corner cases, which
has been corrected.
cf. <CABPp-BHFxxGrqKc0m==TjQNjDGdO=H5Rf6EFsf2nfE1=TuraOQ@mail.gmail.com>

* Fixes multiple crashes around midx write-out codepaths.

* A broken or malicious "git fetch" can say that it has the same
object for many many times, and the upload-pack serving it can
exhaust memory storing them redundantly, which has been corrected.

* A corner case bug in "git log -L..." has been corrected.

* Some among "git add -p" and friends ignored color.diff and/or
color.ui configuration variables, which is an old regression, which
has been corrected.

* "git rebase -i" failed to clean-up the commit log message when the
command commits the final one in a chain of "fixup" commands, which
has been corrected.

* Deal more gracefully with directory / file conflicts when the files
backend is used for ref storage, by failing only the ones that are
involved in the conflict while allowing others.

Also contains various documentation updates, code cleanups and minor fixups.
9 changes: 4 additions & 5 deletions Documentation/config.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,7 @@ whose format and meaning depends on the keyword. Supported keywords
are:

`gitdir`::

The data that follows the keyword `gitdir:` is used as a glob
The data that follows the keyword `gitdir` and a colon is used as a glob
pattern. If the location of the .git directory matches the
pattern, the include condition is met.
+
Expand Down Expand Up @@ -148,7 +147,7 @@ refer to linkgit:gitignore[5] for details. For convenience:
case-insensitively (e.g. on case-insensitive file systems)

`onbranch`::
The data that follows the keyword `onbranch:` is taken to be a
The data that follows the keyword `onbranch` and a colon is taken to be a
pattern with standard globbing wildcards and two additional
ones, `**/` and `/**`, that can match multiple path components.
If we are in a worktree where the name of the branch that is
Expand All @@ -161,8 +160,8 @@ all branches that begin with `foo/`. This is useful if your branches are
organized hierarchically and you would like to apply a configuration to
all the branches in that hierarchy.

`hasconfig:remote.*.url:`::
The data that follows this keyword is taken to
`hasconfig:remote.*.url`::
The data that follows this keyword and a colon is taken to
be a pattern with standard globbing wildcards and two
additional ones, `**/` and `/**`, that can match multiple
components. The first time this keyword is seen, the rest of
Expand Down
5 changes: 3 additions & 2 deletions Documentation/config/alias.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ alias.*::
after defining `alias.last = cat-file commit HEAD`, the invocation
`git last` is equivalent to `git cat-file commit HEAD`. To avoid
confusion and troubles with script usage, aliases that
hide existing Git commands are ignored. Arguments are split by
hide existing Git commands are ignored except for deprecated
commands. Arguments are split by
spaces, the usual shell quoting and escaping are supported.
A quote pair or a backslash can be used to quote them.
+
Expand Down Expand Up @@ -38,6 +39,6 @@ it will be treated as a shell command. For example, defining
** A convenient way to deal with this is to write your script
operations in an inline function that is then called with any
arguments from the command-line. For example `alias.cmd = "!c() {
echo $1 | grep $2 ; }; c" will correctly execute the prior example.
echo $1 | grep $2 ; }; c"` will correctly execute the prior example.
** Setting `GIT_TRACE=1` can help you debug the command being run for
your alias.
30 changes: 17 additions & 13 deletions Documentation/config/extensions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ extensions.*::
`core.repositoryFormatVersion` is not `1`. See
linkgit:gitrepository-layout[5].
+
--
compatObjectFormat::
compatObjectFormat:::
Specify a compatibility hash algorithm to use. The acceptable values
are `sha1` and `sha256`. The value specified must be different from the
value of `extensions.objectFormat`. This allows client level
Expand All @@ -14,27 +13,31 @@ compatObjectFormat::
compatObjectFormat. As well as being able to use oids encoded in
compatObjectFormat in addition to oids encoded with objectFormat to
locally specify objects.
+
Note that the functionality enabled by this extension is incomplete and subject
to change. It currently exists only to allow development and testing of
the underlying feature and is not designed to be enabled by end users.

noop::
noop:::
This extension does not change git's behavior at all. It is useful only
for testing format-1 compatibility.
+
For historical reasons, this extension is respected regardless of the
`core.repositoryFormatVersion` setting.

noop-v1::
noop-v1:::
This extension does not change git's behavior at all. It is useful only
for testing format-1 compatibility.

objectFormat::
objectFormat:::
Specify the hash algorithm to use. The acceptable values are `sha1` and
`sha256`. If not specified, `sha1` is assumed.
+
Note that this setting should only be set by linkgit:git-init[1] or
linkgit:git-clone[1]. Trying to change it after initialization will not
work and will produce hard-to-diagnose issues.

partialClone::
partialClone:::
When enabled, indicates that the repo was created with a partial clone
(or later performed a partial fetch) and that the remote may have
omitted sending certain unwanted objects. Such a remote is called a
Expand All @@ -46,30 +49,31 @@ The value of this key is the name of the promisor remote.
For historical reasons, this extension is respected regardless of the
`core.repositoryFormatVersion` setting.

preciousObjects::
preciousObjects:::
If enabled, indicates that objects in the repository MUST NOT be deleted
(e.g., by `git-prune` or `git repack -d`).
+
For historical reasons, this extension is respected regardless of the
`core.repositoryFormatVersion` setting.

refStorage::
refStorage:::
Specify the ref storage format to use. The acceptable values are:
+
--
include::../ref-storage-format.adoc[]

--
+
Note that this setting should only be set by linkgit:git-init[1] or
linkgit:git-clone[1]. Trying to change it after initialization will not
work and will produce hard-to-diagnose issues.

relativeWorktrees::
relativeWorktrees:::
If enabled, indicates at least one worktree has been linked with
relative paths. Automatically set if a worktree has been created or
repaired with either the `--relative-paths` option or with the
`worktree.useRelativePaths` config set to `true`.

worktreeConfig::
worktreeConfig:::
If enabled, then worktrees will load config settings from the
`$GIT_DIR/config.worktree` file in addition to the
`$GIT_COMMON_DIR/config` file. Note that `$GIT_COMMON_DIR` and
Expand All @@ -83,11 +87,12 @@ When enabling this extension, you must be careful to move
certain values from the common config file to the main working tree's
`config.worktree` file, if present:
+
--
* `core.worktree` must be moved from `$GIT_COMMON_DIR/config` to
`$GIT_COMMON_DIR/config.worktree`.
* If `core.bare` is true, then it must be moved from `$GIT_COMMON_DIR/config`
to `$GIT_COMMON_DIR/config.worktree`.

--
+
It may also be beneficial to adjust the locations of `core.sparseCheckout`
and `core.sparseCheckoutCone` depending on your desire for customizable
Expand All @@ -100,4 +105,3 @@ details.
+
For historical reasons, this extension is respected regardless of the
`core.repositoryFormatVersion` setting.
--
4 changes: 2 additions & 2 deletions Documentation/config/log.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ be used.
Print out the ref names of any commits that are shown by the log
command. Possible values are:
+
----
--
`short`;; the ref name prefixes `refs/heads/`, `refs/tags/` and
`refs/remotes/` are not printed.
`full`;; the full ref name (including prefix) are printed.
`auto`;; if the output is going to a terminal,
the ref names are shown as if `short` were given, otherwise no ref
names are shown.
----
--
+
This is the same as the `--decorate` option of the `git log`.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/config/mergetool.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ endif::[]
During a merge, Git will automatically resolve as many conflicts as
possible and write the `$MERGED` file containing conflict markers around
any conflicts that it cannot resolve; `$LOCAL` and `$REMOTE` normally
are the versions of the file from before Git`s conflict
are the versions of the file from before Git's conflict
resolution. This flag causes `$LOCAL` and `$REMOTE` to be overwritten so
that only the unresolved conflicts are presented to the merge tool. Can
be configured per-tool via the `mergetool.<tool>.hideResolved`
Expand Down
2 changes: 1 addition & 1 deletion Documentation/config/worktree.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ worktree.useRelativePaths::
different locations or environments. Defaults to "false".
+
Note that setting `worktree.useRelativePaths` to "true" implies enabling the
`extension.relativeWorktrees` config (see linkgit:git-config[1]),
`extensions.relativeWorktrees` config (see linkgit:git-config[1]),
thus making it incompatible with older versions of Git.
2 changes: 1 addition & 1 deletion Documentation/fetch-options.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--[no-]all::
Fetch all remotes, except for the ones that has the
`remote.<name>.skipFetchAll` configuration variable set.
This overrides the configuration variable fetch.all`.
This overrides the configuration variable `fetch.all`.

-a::
--append::
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git-clone.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ git clone [--template=<template-directory>]
[--depth <depth>] [--[no-]single-branch] [--[no-]tags]
[--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
[--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
[--filter=<filter-spec>] [--also-filter-submodules]] [--] <repository>
[--filter=<filter-spec> [--also-filter-submodules]] [--] <repository>
[<directory>]

DESCRIPTION
Expand Down
2 changes: 2 additions & 0 deletions Documentation/git-count-objects.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ size: disk space consumed by loose objects, in KiB (unless -H is specified)
+
in-pack: the number of in-pack objects
+
packs: the number of pack files
+
size-pack: disk space consumed by the packs, in KiB (unless -H is specified)
+
prune-packable: the number of loose objects that are also present in
Expand Down
10 changes: 5 additions & 5 deletions Documentation/git-fast-import.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ OPTIONS
currently impacts only the `export-marks`, `import-marks`, and
`import-marks-if-exists` feature commands.
+
Only enable this option if you trust the program generating the
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.
Only enable this option if you trust the program generating the
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.

Options for Frontends
~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -644,7 +644,7 @@ External data format::
+
Here usually `<dataref>` must be either a mark reference (`:<idnum>`)
set by a prior `blob` command, or a full 40-byte SHA-1 of an
existing Git blob object. If `<mode>` is `040000`` then
existing Git blob object. If `<mode>` is `040000` then
`<dataref>` must be the full 40-byte SHA-1 of an existing
Git tree object or a mark reference set with `--import-marks`.

Expand Down
12 changes: 9 additions & 3 deletions Documentation/git-format-patch.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -587,13 +587,19 @@ an external editor to keep Thunderbird from mangling the patches.
Approach #1 (add-on)
^^^^^^^^^^^^^^^^^^^^

Install the Toggle Word Wrap add-on that is available from
https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/
It adds a menu entry "Enable Word Wrap" in the composer's "Options" menu
Install the Toggle Line Wrap add-on that is available from
https://addons.thunderbird.net/thunderbird/addon/toggle-line-wrap
It adds a button "Line Wrap" to the composer's toolbar
that you can tick off. Now you can compose the message as you otherwise do
(cut + paste, 'git format-patch' | 'git imap-send', etc), but you have to
insert line breaks manually in any text that you type.

As a bonus feature, the add-on can detect patch text in the composer
and warns when line wrapping has not yet been turned off.

The add-on requires a few tweaks of the advanced configuration
(about:config). These are listed on the download page.

Approach #2 (configuration)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Three steps:
Expand Down
Loading
Loading