Skip to content

Rebase to v2.50.0-rc2 #5667

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 349 commits into from
Jun 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
0a76eca
mingw: $env:TERM="xterm-256color" for newer OSes
rkitover Apr 12, 2022
70ee9bf
winansi: check result and Buffer before using Name
1480c1 May 28, 2022
dea0430
Add config option `windows.appendAtomically`
sunzhuoshi Jan 15, 2022
0285dde
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
531aa17
MinGW: link as terminal server aware
rimrul Jul 10, 2022
9e7ccf8
Fix Windows version resources
Mortein Nov 2, 2022
1dddbdb
status: fix for old-style submodules with commondir
sceptical-coder Oct 28, 2022
5338ae8
http: optionally load libcurl lazily
dscho May 6, 2023
425d33f
http: support lazy-loading libcurl also on Windows
dscho May 7, 2023
b6b2717
http: when loading libcurl lazily, allow for multiple SSL backends
dscho May 7, 2023
b08bb43
windows: skip linking `git-<command>` for built-ins
dscho Jan 27, 2023
ba97430
windows: fix Repository>Explore Working Copy
dscho Mar 21, 2023
073762f
mingw: do load libcurl dynamically by default
dscho May 7, 2023
85e3ebd
Add a GitHub workflow to verify that Git/Scalar work in Nano Server
dscho Nov 2, 2022
a2df6ee
mingw: suggest `windows.appendAtomically` in more cases
dsl101 Jul 28, 2023
3bb9c2f
win32: use native ANSI sequence processing, if possible
dscho Nov 22, 2023
a693ad9
git.rc: include winuser.h
rimrul Dec 2, 2023
bc719e2
common-main.c: fflush stdout buffer upon exit
chengzhuo5 Apr 8, 2024
f209010
revision: create mark_trees_uninteresting_dense()
derrickstolee Sep 6, 2024
2faba74
pack-objects: extract should_attempt_deltas()
derrickstolee Sep 24, 2024
b12b436
pack-objects: add --path-walk option
derrickstolee Sep 5, 2024
2c32add
pack-objects: introduce GIT_TEST_PACK_PATH_WALK
derrickstolee Sep 6, 2024
125101f
repack: add --path-walk option
derrickstolee Sep 5, 2024
9cd9f31
pack-objects: enable --path-walk via config
derrickstolee Sep 5, 2024
29024ed
scalar: enable path-walk during push via config
derrickstolee Sep 5, 2024
0c24151
pack-objects: refactor path-walk delta phase
derrickstolee Sep 18, 2024
10ffda2
t5601/t7406(mingw): do run tests with symlink support
dscho Apr 9, 2024
f97ec05
win32: ensure that `localtime_r()` is declared even in i686 builds
dscho May 21, 2024
39dbd7d
Fallback to AppData if XDG_CONFIG_HOME is unset
ariellourenco Jul 2, 2024
75896e1
run-command: be helpful with Git LFS fails on Windows 7
dscho Jul 4, 2024
d4f69b1
ci: work around a problem with HTTP/2 vs libcurl v8.10.0
dscho Sep 24, 2024
a7fec1b
survey: stub in new experimental 'git-survey' command
Apr 29, 2024
2f7e431
survey: add command line opts to select references
Apr 29, 2024
d790833
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
1422871
survey: add object count summary
derrickstolee Sep 2, 2024
3564cae
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
9124e8f
survey: show progress during object walk
derrickstolee Sep 2, 2024
d27d17c
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
5185b1c
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
66c44c5
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
a9fac0d
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
bb27ee4
pack-objects: thread the path-based compression
derrickstolee Sep 18, 2024
a306d2b
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
0a19fc6
compat/mingw: handle WSA errors in strerror
rimrul Dec 22, 2024
5ec808b
compat/mingw: drop outdated comment
rimrul Dec 22, 2024
57d707b
t0301: actually test credential-cache on Windows
rimrul Dec 29, 2024
45289af
credential-cache: handle ECONNREFUSED gracefully
rimrul Dec 22, 2024
e5585c4
mingw_open_existing: handle directories better
rimrul Jan 4, 2025
9db3a65
mingw: drop Windows 7-specific work-around
dscho Mar 4, 2025
22f42a0
mingw_rename: support ReFS on Windows 2022
dscho Mar 26, 2025
ba750ef
max_tree_depth: lower it for clangarm64 on Windows
dscho Apr 15, 2025
0b382eb
reftable: do make sure to use custom allocators
dscho Mar 6, 2025
29b1daf
check-whitespace: avoid alerts about upstream commits
dscho Jun 3, 2025
490b802
Merge branch 'organize-mingw-includes'
dscho Jun 2, 2025
b9c6026
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
dcf54ff
Merge branch 'drive-prefix'
dscho Jun 8, 2018
828d60d
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
42c0f93
Merge branch 'msys2-python'
dscho May 31, 2019
98e9e60
Merge branch 'mimalloc-v2.2.3'
dscho Sep 8, 2022
beef56f
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
856ea73
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
137b05b
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
50c4da7
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
e10220f
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
cb81d55
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
c82e9a7
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
ec19f48
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
d981b13
Merge 'add-p-many-files'
dscho Jun 8, 2018
7723be5
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
6661bf5
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
0a447db
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
82b1b76
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
9525088
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
00942f7
cmake: install headless-git. (#4338)
dscho Mar 13, 2023
43ebf53
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
b07e698
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
c56687a
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
c3d7232
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
52238c9
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
6214b58
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
e45bde0
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
7270caf
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
65e1f7a
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
ec40c3a
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
9f5a298
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
7ed51ce
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
2fa87ea
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
5502ea8
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
f3db6f9
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
0599f60
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
23c19cb
Fix Windows version resources (#4092)
dscho Nov 3, 2022
8c4e617
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
e33b9c8
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
7c5585a
Git GUI: fix Repository>Explore Working Copy (#4357)
dscho Mar 21, 2023
7c3a2a1
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
3ca3d3e
Merge branch 'nano-server'
dscho Aug 7, 2023
a813fe3
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
ecca848
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
f12ee1d
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
1eca12a
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
d95aa0e
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
04c2e00
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
0c653b7
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
3de18de
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
a238bc2
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
81c7a40
Add path walk API and its use in 'git pack-objects' (#5171)
derrickstolee Sep 25, 2024
acd8c68
Add experimental 'git survey' builtin (#5174)
dscho Sep 26, 2024
ed88613
credential-cache: handle ECONNREFUSED gracefully (#5329)
dscho Jan 1, 2025
c19467a
mingw_open_existing: handle directories better (#5342)
dscho Jan 23, 2025
e810ee5
Drop support for `core.restrictInheritedHandles`, as it targeted Wind…
dscho Mar 4, 2025
49d2664
mingw_rename: support ReFS on Windows 2022 (#5515)
dscho Mar 26, 2025
cca0e8f
clangarm64: let the tests pass! (#5586)
dscho Apr 21, 2025
dca0814
Merge branch 'reftable-vs-custom-allocators'
dscho Jun 2, 2025
5561c1f
Merge branch 'check-whitespace-only-downstream'
dscho Jun 3, 2025
72b5a89
refs: forbid clang to complain about unreachable code
dscho Jun 4, 2025
762bcee
mingw: avoid the comma operator
dscho Jun 5, 2025
a0c3877
Merge branch 'refs-clang-fix'
dscho Jun 11, 2025
cca45ce
mingw: avoid the comma operator (#5660)
dscho Jun 5, 2025
19e3c64
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
80e1f17
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
48767d4
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
2148e97
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
df96210
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
a7682a9
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
5f44a60
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
4e349eb
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
9451c6b
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
95f1774
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
d1f5e7c
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
ddfc70f
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
63df1b2
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
1238254
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
4319937
fscache: load directories only once
kblees Jun 24, 2014
666f0f3
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
25891d5
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
8b5acc4
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
21ad54f
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
1b7d89a
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
382c1ca
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
b620199
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
20c069d
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
bbc8a77
checkout.c: enable fscache for checkout again
Jan 30, 2018
683541b
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
01f8fe8
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
96870d1
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
893eb52
fscache: fscache takes an initial size
benpeart Nov 2, 2018
0404729
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
c4b7a7c
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
8202d91
fscache: add fscache hit statistics
benpeart Sep 25, 2018
d825c1a
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
485f368
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
ce0f7bf
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
6e602fe
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
72f7d84
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
4c37726
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
51af6d4
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
0204799
clean: make use of FSCache
dscho Dec 11, 2018
ffffdd1
Merge branch 'fscache'
dscho Nov 15, 2018
0c8897e
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
c38184f
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
38bf76e
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
fd9254d
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
b54ee6b
mingw: support long paths
kblees Jul 28, 2015
dfa2022
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
7e5a28e
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
d203d8c
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
490a3c0
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
9f20584
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
a961e06
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
e967942
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
34661cd
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
611e27b
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
be48cae
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
6ad1837
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
de29ee1
Win32: implement stat() with symlink support
kblees May 15, 2015
cc5ef05
Win32: remove separate do_lstat() function
kblees May 11, 2015
540229a
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
3bf8f92
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
f7b9be1
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
eb33fd1
Win32: factor out retry logic
kblees May 19, 2015
f15b288
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
4678cb6
Win32: add symlink-specific error codes
kblees May 15, 2015
6a9f110
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
c919d0b
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
8d25ba2
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
f1f225b
Win32: implement readlink()
kblees May 23, 2015
8d940a1
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
a035c84
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
b7f3164
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
6b7296f
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
45cebe1
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
c90f93d
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
97fe22b
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
7ea1188
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
b7d8caa
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
fd2ae2c
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
81b39a9
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
00cc6bf
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
7e61faa
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
06fe0fc
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
fe449d1
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
46b327f
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
2504a7b
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
00a06ac
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
9c0c942
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
59ddc6d
gitattributes: mark .png files as binary
dscho Oct 11, 2018
27eed80
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
80d8f9b
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
bc4b1e0
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
7d460bb
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
379aa45
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
5131e04
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
883ff88
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
09937eb
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
ec99e21
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
60c0543
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
d2a3f42
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
ac524b4
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
67f90f9
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
aa525ff
mingw: kill child processes in a gentler way
dscho May 17, 2017
b408621
mingw: really handle SIGINT
dscho Apr 22, 2018
7993c46
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
608f35a
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
e725789
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
60ad39e
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
51ca0d6
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
769584b
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
203922b
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
6cdd223
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
88bffa8
Add an issue template
shiftkey Feb 18, 2016
857fc12
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
f0b2870
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
82feb60
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
9e4931f
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
74e1e7d
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
c2790ea
Merge branch 'long-paths'
dscho Nov 15, 2018
994510b
Merge branch 'msys2'
dscho Nov 15, 2018
3767d9b
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
d46d861
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
d85b2aa
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
4c072b6
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
ab39bba
Merge branch 'busybox-w32'
dscho Feb 7, 2019
7f3decc
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
2d4c2a9
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
d05f2c9
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
9c883d0
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
79de3d2
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
02d3963
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
a1fc9d8
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
e212079
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
11 changes: 11 additions & 0 deletions Documentation/RelNotes/2.50.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,17 @@ Performance, Internal Implementation, Development Support etc.
we ended up checking for these non-existent files repeatedly, which
has been optimized by memoizing the non-existence.

* Build settings have been improved for BSD based systems.

* Newer version of libcURL detected curl_easy_setopt() calls we made
with platform-natural "int" when we should have used "long", which
all have been corrected.

* Tests that compare $HOME and $(pwd), which should be the same
directory unless the tests chdir's around, would fail when the user
enters the test directory via symbolic links, which has been
corrected.


Fixes since v2.49
-----------------
Expand Down
3 changes: 2 additions & 1 deletion Documentation/config/gitcvs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ gitcvs.dbDriver::
May not contain double colons (`:`). Default: 'SQLite'.
See linkgit:git-cvsserver[1].

gitcvs.dbUser, gitcvs.dbPass::
gitcvs.dbUser::
gitcvs.dbPass::
Database user and password. Only useful if setting `gitcvs.dbDriver`,
since SQLite has no concept of database users and/or passwords.
'gitcvs.dbUser' supports variable substitution (see
Expand Down
3 changes: 2 additions & 1 deletion Documentation/config/http.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,8 @@ for most push problems, but can increase memory consumption
significantly since the entire buffer is allocated even for small
pushes.

http.lowSpeedLimit, http.lowSpeedTime::
http.lowSpeedLimit::
http.lowSpeedTime::
If the HTTP transfer speed, in bytes per second, is less than
'http.lowSpeedLimit' for longer than 'http.lowSpeedTime' seconds,
the transfer is aborted.
Expand Down
2 changes: 1 addition & 1 deletion GIT-VERSION-GEN
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh

DEF_VER=v2.50.0-rc1
DEF_VER=v2.50.0-rc2

LF='
'
Expand Down
10 changes: 5 additions & 5 deletions compat/posix.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,11 @@
# else
# define _XOPEN_SOURCE 500
# endif
#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \
!defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) && \
!defined(__TANDEM) && !defined(__QNX__) && !defined(__MirBSD__) && \
!defined(__CYGWIN__)
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
!defined(__OpenBSD__) && !defined(__DragonFly__) && !defined(__MirBSD__) && \
!defined(__USLC__) && !defined(_M_UNIX) && !defined(__sgi) && \
!defined(__TANDEM) && !defined(__QNX__) && !defined(__CYGWIN__)
#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500 */
#define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
#endif
#define _ALL_SOURCE 1
Expand Down
5 changes: 1 addition & 4 deletions config.mak.uname
Original file line number Diff line number Diff line change
Expand Up @@ -301,17 +301,14 @@ ifeq ($(uname_S),FreeBSD)
FILENO_IS_A_MACRO = UnfortunatelyYes
endif
ifeq ($(uname_S),OpenBSD)
NO_STRCASESTR = YesPlease
NO_MEMMEM = YesPlease
DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
USE_ST_TIMESPEC = YesPlease
NEEDS_LIBICONV = YesPlease
BASIC_CFLAGS += -I/usr/local/include
BASIC_LDFLAGS += -L/usr/local/lib
HAVE_PATHS_H = YesPlease
HAVE_BSD_SYSCTL = YesPlease
HAVE_BSD_KERN_PROC_SYSCTL = YesPlease
CSPRNG_METHOD = arc4random
PROCFS_EXECUTABLE_PATH = /proc/curproc/file
FREAD_READS_DIRECTORIES = UnfortunatelyYes
FILENO_IS_A_MACRO = UnfortunatelyYes
endif
Expand Down
1 change: 0 additions & 1 deletion generate-configlist.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ EOF
s/::$//;
s/`//g;
s/^.*$/ "&",/;
s/, */",\n "/g;
p;};
d' \
"$SOURCE_DIR"/Documentation/*config.adoc \
Expand Down
2 changes: 1 addition & 1 deletion git-gui/generate-tclindex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ then
: ok
else
echo >&2 " * $TCL_PATH failed; using unoptimized loading"
rm -f $@
rm -f lib/tclIndex
echo '# Autogenerated by git-gui Makefile' >lib/tclIndex
echo >>lib/tclIndex
echo "class.tcl" >>lib/tclIndex
Expand Down
8 changes: 4 additions & 4 deletions http-push.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ static char *xml_entities(const char *s)
static void curl_setup_http_get(CURL *curl, const char *url,
const char *custom_req)
{
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1l);
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, custom_req);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite_null);
Expand All @@ -205,17 +205,17 @@ static void curl_setup_http(CURL *curl, const char *url,
const char *custom_req, struct buffer *buffer,
curl_write_callback write_fn)
{
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1l);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_INFILE, buffer);
curl_easy_setopt(curl, CURLOPT_INFILESIZE, buffer->buf.len);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, fread_buffer);
curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, seek_buffer);
curl_easy_setopt(curl, CURLOPT_SEEKDATA, buffer);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_fn);
curl_easy_setopt(curl, CURLOPT_NOBODY, 0l);
curl_easy_setopt(curl, CURLOPT_NOBODY, 0L);
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, custom_req);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1l);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
}

static struct curl_slist *get_dav_token_headers(struct remote_lock *lock, enum dav_header_flag options)
Expand Down
38 changes: 19 additions & 19 deletions http.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ static char *cached_accept_language;

static char *http_ssl_backend;

static int http_schannel_check_revoke_mode =
static long http_schannel_check_revoke_mode =
#ifdef CURLSSLOPT_REVOKE_BEST_EFFORT
CURLSSLOPT_REVOKE_BEST_EFFORT;
#else
Expand Down Expand Up @@ -1044,13 +1044,13 @@ static CURL *get_curl_handle(void)
die("curl_easy_init failed");

if (!curl_ssl_verify) {
curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 0l);
curl_easy_setopt(result, CURLOPT_SSL_VERIFYHOST, 0l);
curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(result, CURLOPT_SSL_VERIFYHOST, 0L);
} else {
/* Verify authenticity of the peer's certificate */
curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 1l);
curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 1L);
/* The name in the cert must match whom we tried to connect */
curl_easy_setopt(result, CURLOPT_SSL_VERIFYHOST, 2l);
curl_easy_setopt(result, CURLOPT_SSL_VERIFYHOST, 2L);
}

if (curl_http_version) {
Expand Down Expand Up @@ -1153,7 +1153,7 @@ static CURL *get_curl_handle(void)
curl_low_speed_time);
}

curl_easy_setopt(result, CURLOPT_MAXREDIRS, 20l);
curl_easy_setopt(result, CURLOPT_MAXREDIRS, 20L);
curl_easy_setopt(result, CURLOPT_POSTREDIR, (long)CURL_REDIR_POST_ALL);

#ifdef GIT_CURL_HAVE_CURLOPT_PROTOCOLS_STR
Expand Down Expand Up @@ -1187,7 +1187,7 @@ static CURL *get_curl_handle(void)
user_agent ? user_agent : git_user_agent());

if (curl_ftp_no_epsv)
curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0l);
curl_easy_setopt(result, CURLOPT_FTP_USE_EPSV, 0L);

if (curl_ssl_try)
curl_easy_setopt(result, CURLOPT_USE_SSL, CURLUSESSL_TRY);
Expand Down Expand Up @@ -1290,7 +1290,7 @@ static CURL *get_curl_handle(void)
}
init_curl_proxy_auth(result);

curl_easy_setopt(result, CURLOPT_TCP_KEEPALIVE, 1l);
curl_easy_setopt(result, CURLOPT_TCP_KEEPALIVE, 1L);

if (curl_tcp_keepidle > -1)
curl_easy_setopt(result, CURLOPT_TCP_KEEPIDLE,
Expand Down Expand Up @@ -1576,9 +1576,9 @@ struct active_request_slot *get_active_slot(void)
curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(slot->curl, CURLOPT_POSTFIELDS, NULL);
curl_easy_setopt(slot->curl, CURLOPT_POSTFIELDSIZE, -1L);
curl_easy_setopt(slot->curl, CURLOPT_UPLOAD, 0l);
curl_easy_setopt(slot->curl, CURLOPT_HTTPGET, 1l);
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 1l);
curl_easy_setopt(slot->curl, CURLOPT_UPLOAD, 0L);
curl_easy_setopt(slot->curl, CURLOPT_HTTPGET, 1L);
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 1L);
curl_easy_setopt(slot->curl, CURLOPT_RANGE, NULL);

/*
Expand All @@ -1587,9 +1587,9 @@ struct active_request_slot *get_active_slot(void)
* HTTP_FOLLOW_* cases themselves.
*/
if (http_follow_config == HTTP_FOLLOW_ALWAYS)
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 1l);
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 1L);
else
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 0l);
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 0L);

curl_easy_setopt(slot->curl, CURLOPT_IPRESOLVE, git_curl_ipresolve);
curl_easy_setopt(slot->curl, CURLOPT_HTTPAUTH, http_auth_methods);
Expand Down Expand Up @@ -2156,12 +2156,12 @@ static int http_request(const char *url,
int ret;

slot = get_active_slot();
curl_easy_setopt(slot->curl, CURLOPT_HTTPGET, 1l);
curl_easy_setopt(slot->curl, CURLOPT_HTTPGET, 1L);

if (!result) {
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 1l);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 1L);
} else {
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0l);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0L);
curl_easy_setopt(slot->curl, CURLOPT_WRITEDATA, result);

if (target == HTTP_REQUEST_FILE) {
Expand All @@ -2187,7 +2187,7 @@ static int http_request(const char *url,
strbuf_addstr(&buf, " no-cache");
if (options && options->initial_request &&
http_follow_config == HTTP_FOLLOW_INITIAL)
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 1l);
curl_easy_setopt(slot->curl, CURLOPT_FOLLOWLOCATION, 1L);

headers = curl_slist_append(headers, buf.buf);

Expand All @@ -2206,7 +2206,7 @@ static int http_request(const char *url,
curl_easy_setopt(slot->curl, CURLOPT_URL, url);
curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "");
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 0l);
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 0L);

ret = run_one_slot(slot, &results);

Expand Down Expand Up @@ -2786,7 +2786,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
freq->headers = object_request_headers();

curl_easy_setopt(freq->slot->curl, CURLOPT_WRITEDATA, freq);
curl_easy_setopt(freq->slot->curl, CURLOPT_FAILONERROR, 0l);
curl_easy_setopt(freq->slot->curl, CURLOPT_FAILONERROR, 0L);
curl_easy_setopt(freq->slot->curl, CURLOPT_WRITEFUNCTION, fwrite_sha1_file);
curl_easy_setopt(freq->slot->curl, CURLOPT_ERRORBUFFER, freq->errorstr);
curl_easy_setopt(freq->slot->curl, CURLOPT_URL, freq->url);
Expand Down
12 changes: 6 additions & 6 deletions remote-curl.c
Original file line number Diff line number Diff line change
Expand Up @@ -877,12 +877,12 @@ static int probe_rpc(struct rpc_state *rpc, struct slot_results *results)
headers = curl_slist_append(headers, rpc->hdr_content_type);
headers = curl_slist_append(headers, rpc->hdr_accept);

curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0l);
curl_easy_setopt(slot->curl, CURLOPT_POST, 1l);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0L);
curl_easy_setopt(slot->curl, CURLOPT_POST, 1L);
curl_easy_setopt(slot->curl, CURLOPT_URL, rpc->service_url);
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, NULL);
curl_easy_setopt(slot->curl, CURLOPT_POSTFIELDS, "0000");
curl_easy_setopt(slot->curl, CURLOPT_POSTFIELDSIZE, 4l);
curl_easy_setopt(slot->curl, CURLOPT_POSTFIELDSIZE, 4L);
curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, fwrite_buffer);
curl_easy_setopt(slot->curl, CURLOPT_WRITEDATA, &buf);
Expand Down Expand Up @@ -970,8 +970,8 @@ static int post_rpc(struct rpc_state *rpc, int stateless_connect, int flush_rece

slot = get_active_slot();

curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0l);
curl_easy_setopt(slot->curl, CURLOPT_POST, 1l);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0L);
curl_easy_setopt(slot->curl, CURLOPT_POST, 1L);
curl_easy_setopt(slot->curl, CURLOPT_URL, rpc->service_url);
curl_easy_setopt(slot->curl, CURLOPT_ENCODING, "");

Expand Down Expand Up @@ -1058,7 +1058,7 @@ static int post_rpc(struct rpc_state *rpc, int stateless_connect, int flush_rece
rpc_in_data.check_pktline = stateless_connect;
memset(&rpc_in_data.pktline_state, 0, sizeof(rpc_in_data.pktline_state));
curl_easy_setopt(slot->curl, CURLOPT_WRITEDATA, &rpc_in_data);
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 0l);
curl_easy_setopt(slot->curl, CURLOPT_FAILONERROR, 0L);


rpc->any_written = 0;
Expand Down
17 changes: 15 additions & 2 deletions t/t5410-receive-pack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,19 @@ test_expect_success 'with core.alternateRefsPrefixes' '
test_cmp expect actual.haves
'

test_expect_success 'receive-pack missing objects fails connectivity check' '
# The `tee.exe` shipped in Git for Windows v2.49.0 is known to hang frequently
# when spawned from `git.exe` and piping its output to `git.exe`. This seems
# related to MSYS2 runtime bug fixes regarding the signal handling; Let's just
# skip the tests that need to exercise this when the faulty MSYS2 runtime is
# detected; The test cases are exercised enough in other matrix jobs of the CI
# runs.
test_lazy_prereq TEE_DOES_NOT_HANG '
test_have_prereq !MINGW &&
case "$(uname -a)" in *3.5.7-463ebcdc.x86_64*) false;; esac
'

test_expect_success TEE_DOES_NOT_HANG \
'receive-pack missing objects fails connectivity check' '
test_when_finished rm -rf repo remote.git setup.git &&
git init repo &&
Expand All @@ -62,7 +74,8 @@ test_expect_success 'receive-pack missing objects fails connectivity check' '
test_must_fail git -C remote.git cat-file -e $(git -C repo rev-parse HEAD)
'

test_expect_success 'receive-pack missing objects bypasses connectivity check' '
test_expect_success TEE_DOES_NOT_HANG \
'receive-pack missing objects bypasses connectivity check' '
test_when_finished rm -rf repo remote.git setup.git &&
git init repo &&
Expand Down
2 changes: 2 additions & 0 deletions t/test-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1586,6 +1586,8 @@ fi
# Use -P to resolve symlinks in our working directory so that the cwd
# in subprocesses like git equals our $PWD (for pathname comparisons).
cd -P "$TRASH_DIRECTORY" || BAIL_OUT "cannot cd -P to \"$TRASH_DIRECTORY\""
TRASH_DIRECTORY=$(pwd)
HOME="$TRASH_DIRECTORY"

start_test_output "$0"

Expand Down
Loading