Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Rebase to v2.47.0-rc1 #5187

Merged
merged 454 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
454 commits
Select commit Hold shift + click to select a range
5cc3464
repack: test --full-name-hash option
derrickstolee Sep 17, 2024
221be0e
pack-objects: add GIT_TEST_FULL_NAME_HASH
derrickstolee Sep 17, 2024
78dbc40
git-repack: update usage to match docs
derrickstolee Sep 9, 2024
4a37ccb
p5313: add size comparison test
derrickstolee Aug 28, 2024
18686eb
test-tool: add helper for name-hash values
derrickstolee Sep 9, 2024
41e90b4
path-walk: introduce an object walk by path
derrickstolee Aug 29, 2024
65b5595
t6601: add helper for testing path-walk API
derrickstolee Sep 18, 2024
82bb044
repack/pack-objects: mark `--full-name-hash` as experimental
dscho Sep 24, 2024
85859ea
Merge branch 'safe-PATH-lookup-in-gitk-on-Windows'
dscho Jan 21, 2023
b56d6a1
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
d1a2b35
Merge branch 'drive-prefix'
dscho Jun 8, 2018
1a05ae2
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
9ae502f
Merge branch 'msys2-python'
dscho May 31, 2019
d0ee561
Merge branch 'mimalloc-v2.0.9'
dscho Sep 8, 2022
c301500
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
414e599
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
36be153
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
6d3e42b
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
86ebf87
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
7aa8a0c
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
d0c3ce5
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
5811746
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
763d885
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
4de15a8
Merge 'add-p-many-files'
dscho Jun 8, 2018
cd6727b
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
9a3cad1
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
d3e1437
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
f753670
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
77bad2b
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
d290cbb
cmake: install headless-git. (#4338)
dscho Mar 13, 2023
c2b011e
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
a3be330
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
19227a3
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
498d4da
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
b154dbf
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
9624e70
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
751a65a
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
8a6c1e2
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
3e7ca7a
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
6fedcc4
path-walk: allow consumer to specify object types
derrickstolee Sep 1, 2024
e6acd74
path-walk: allow visiting tags
derrickstolee Sep 9, 2024
8e5e612
revision: create mark_trees_uninteresting_dense()
derrickstolee Sep 6, 2024
d0f2213
path-walk: add prune_all_uninteresting option
derrickstolee Sep 4, 2024
ce40df4
pack-objects: extract should_attempt_deltas()
derrickstolee Sep 24, 2024
8e8a5b8
pack-objects: add --path-walk option
derrickstolee Sep 5, 2024
13ff91f
pack-objects: introduce GIT_TEST_PACK_PATH_WALK
derrickstolee Sep 6, 2024
a9bc29e
repack: add --path-walk option
derrickstolee Sep 5, 2024
5b38114
pack-objects: enable --path-walk via config
derrickstolee Sep 5, 2024
c7bd1df
scalar: enable path-walk during push via config
derrickstolee Sep 5, 2024
2488d13
pack-objects: refactor path-walk delta phase
derrickstolee Sep 18, 2024
4f530f7
pack-objects: thread the path-based compression
derrickstolee Sep 18, 2024
1dedc04
backfill: add builtin boilerplate
derrickstolee Jun 7, 2024
2fae6ee
backfill: basic functionality and tests
derrickstolee Sep 1, 2024
4392105
backfill: add --batch-size=<n> option
derrickstolee Sep 1, 2024
120e50c
backfill: add --sparse option
derrickstolee Sep 1, 2024
bff91f1
backfill: assume --sparse when sparse-checkout is enabled
derrickstolee Sep 1, 2024
192f63e
backfill: mark it as experimental
dscho Sep 26, 2024
714bedd
survey: stub in new experimental 'git-survey' command
Apr 29, 2024
5bac1ad
survey: add command line opts to select references
Apr 29, 2024
8f9e220
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
f2f89bc
survey: add object count summary
derrickstolee Sep 2, 2024
f39486a
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
6a43d07
survey: show progress during object walk
derrickstolee Sep 2, 2024
34983c1
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
5484401
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
7e30b29
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
2be2c92
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
37075e8
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
68d57b1
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
2f7e2d8
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
0896560
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
4955a57
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
cc588b4
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
5139673
Merge branch 'ci-fixes'
dscho Feb 11, 2021
f2a98e9
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
7195c55
Fix Windows version resources (#4092)
dscho Nov 3, 2022
2080018
Merge branch 'builtin-swap-functions'
dscho Nov 23, 2022
a2575dc
Add support for CLANGARM64 target (#3916)
dscho Oct 28, 2022
e0ff312
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
f6a0aa8
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
4ae2e09
Git GUI: fix Repository>Explore Working Copy (#4357)
dscho Mar 21, 2023
2092813
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
32c3fd8
Merge branch 'nano-server'
dscho Aug 7, 2023
e44720f
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
bb0eb0b
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
76ec3f2
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
98b8cfb
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
3cfb527
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
a9d2c13
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
d5af88f
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
05be223
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
c316eab
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
ef977e2
Add path walk API and its use in 'git pack-objects' (#5171)
derrickstolee Sep 25, 2024
1cdf89e
Introduce 'git backfill' to get missing blobs in a partial clone (#5172)
dscho Sep 26, 2024
ccfac7e
Add experimental 'git survey' builtin (#5174)
dscho Sep 26, 2024
ca2829a
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
efd0753
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
2c4e757
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
597abad
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
6070b5d
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
e4b7d0f
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
0fc3a76
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
08455cf
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
273b65d
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
028fac7
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
c30c7af
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
4fc7b9e
fscache: load directories only once
kblees Jun 24, 2014
db1aa34
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
9888212
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
5b0f5ab
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
b6d63b6
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
ca14fa2
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
2e5a053
checkout.c: enable fscache for checkout again
Jan 30, 2018
95dd5f5
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
ae01e29
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
e6aace3
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
d8b2771
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
d7c89b0
fscache: add fscache hit statistics
benpeart Sep 25, 2018
ff03c40
fscache: fscache takes an initial size
benpeart Nov 2, 2018
e9b3856
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
ed01d91
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
bbfecad
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
fad0d53
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
23e7a19
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
a49d409
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
936a148
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
af2cbc4
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
0bc448d
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
634d2fd
clean: make use of FSCache
dscho Dec 11, 2018
77d9198
gitk: Unicode file name support
kblees Feb 4, 2012
eff723f
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
574b793
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
f915c80
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
60ab5b7
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
60e7d4a
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
5e40aef
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
a7d2c23
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
50f91c4
Merge branch 'fscache'
dscho Nov 15, 2018
eb71b5c
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
6766c6f
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
c26f714
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
a13e3af
Merge 'gitk' into HEAD
dscho Jun 7, 2018
fc7d3e6
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
f187aa0
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
4119505
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
2f5f378
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
869068b
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
ef1d29e
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
95829dd
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
1d6c9d5
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
5bd9062
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
5ffee80
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
77a1609
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
90dd9df
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
d6d8c16
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
5521252
mingw: support long paths
kblees Jul 28, 2015
cdc8777
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
4fa5d93
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
be9ac19
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
5242dd5
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
74b72b7
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
edd7b9e
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
a345fc3
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
a13b107
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
23da434
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
4b961fb
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
0796d92
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
2a3f2e7
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
72bb1c8
Win32: implement stat() with symlink support
kblees May 15, 2015
3ddbf36
Win32: remove separate do_lstat() function
kblees May 11, 2015
1bc1573
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
077ca3d
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
71d4237
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
59e73e6
Win32: factor out retry logic
kblees May 19, 2015
a88262b
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
73aa817
Win32: add symlink-specific error codes
kblees May 15, 2015
bcd17e6
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
a6b6059
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
cfe1b4f
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
7218afe
Win32: implement readlink()
kblees May 23, 2015
6f3d99b
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
a6bfbd0
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
26495c7
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
182e519
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
40bd44a
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
4bf94db
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
0323d4d
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
74cf36c
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
409d835
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
179084c
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
08dde17
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
f087676
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
3c30fa9
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
1263235
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
ddcc426
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
a96c675
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
60bbecf
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
2cbb28f
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
b4744d8
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
e36a6be
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
56d40ca
gitattributes: mark .png files as binary
dscho Oct 11, 2018
6788827
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
80dd451
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
61b13d6
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
d60e553
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
d899318
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
13908df
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
b0ff24d
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
15dfc0c
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
5a9274c
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
eeaff0e
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
7779b95
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
a7bab71
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
15ae007
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
6e70a32
mingw: kill child processes in a gentler way
dscho May 17, 2017
9bad165
mingw: really handle SIGINT
dscho Apr 22, 2018
24c2e4b
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
a5cd03b
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
d2f963e
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
1b3e316
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
4f0462d
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
3f88490
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
866b1c5
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
d4b1f97
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
d634b06
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
c4881c1
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
8614edb
Add an issue template
shiftkey Feb 18, 2016
7ff9f4d
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
dd05d1c
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
f346b35
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
dc5cb68
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
4bcceba
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
e68324e
Merge branch 'long-paths'
dscho Nov 15, 2018
3582658
Merge branch 'fix-v4-fsmonitor-long-paths' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
36be29f
Merge pull request #3817 from mathstuf/name-too-long-advice
dscho Apr 22, 2022
0192b01
Merge branch 'msys2'
dscho Nov 15, 2018
e3c9ae8
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
0a21cc7
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
a49ea55
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
74c28a7
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
3589e29
Merge branch 'busybox-w32'
dscho Feb 7, 2019
9260883
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
a0f9653
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
7ceabb1
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
f192481
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
bd2c8cb
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
2842363
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
f12aa86
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
a799b99
Merge 'readme' into HEAD
dscho Jun 7, 2018
49e3069
t0610: skip concurrent write test case on Windows
dscho Oct 4, 2024
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
35 changes: 35 additions & 0 deletions Documentation/RelNotes/2.47.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,14 @@ Performance, Internal Implementation, Development Support etc.
* CI updates. FreeBSD image has been updated to 13.4.
(merge 2eeb29702e cb/ci-freebsd-13-4 later to maint).

* Give timeout to the locking code to write to reftable, instead of
failing on the first failure without retrying.

* The checksum at the tail of files are now computed without
collision detection protection. This is safe as the consumer of
the information to protect itself from replay attacks checks for
hash collisions independently.


Fixes since v2.46
-----------------
Expand Down Expand Up @@ -293,6 +301,33 @@ Fixes since v2.46
been corrected.
(merge 9a41735af6 rs/diff-exit-code-binary later to maint).

* When a subprocess to work in a submodule spawned by "git submodule"
fails with SIGPIPE, the parent Git process caught the death of it,
but gave a generic "failed to work in that submodule", which was
misleading. We now behave as if the parent got SIGPIPE and die.
(merge 082caf527e pw/submodule-process-sigpipe later to maint).

* "git archive" with pathspec magic that uses the attribute
information did not work well, which has been corrected.
(merge 296743a7ca rs/archive-with-attr-pathspec-fix later to maint).

* Background tasks "git maintenance" runs may need to use credential
information when going over the network, but a credential helper
may work only in an interactive environment, and end up blocking a
scheduled task waiting for UI. Credential helpers can now behave
differently when they are not running interactively.
(merge b9183b0a02 ds/background-maintenance-with-credential later to maint).

* "git --git-dir=nowhere cmd" failed to properly notice that it
wasn't in any repository while processing includeIf.onbranch
configuration and instead crashed.

* When "git sparse-checkout disable" turns a sparse checkout into a
regular checkout, the index is fully expanded. This totally
expected behaviour however had an "oops, we are expanding the
index" advice message, which has been corrected.
(merge 537e516a39 ds/sparse-checkout-expansion-advice later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge be10ac7037 jc/mailinfo-header-cleanup later to maint).
(merge 4460e052e0 jc/range-diff-lazy-setup later to maint).
Expand Down
8 changes: 8 additions & 0 deletions Documentation/config/credential.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ credential.helper::
Note that multiple helpers may be defined. See linkgit:gitcredentials[7]
for details and examples.

credential.interactive::
By default, Git and any configured credential helpers will ask for
user input when new credentials are required. Many of these helpers
will succeed based on stored credentials if those credentials are
still valid. To avoid the possibility of user interactivity from
Git, set `credential.interactive=false`. Some credential helpers
respect this option as well.

credential.useHttpPath::
When acquiring credentials, consider the "path" component of an http
or https URL to be important. Defaults to false. See
Expand Down
8 changes: 8 additions & 0 deletions Documentation/config/reftable.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,11 @@ reftable.geometricFactor::
By default, the geometric sequence uses a factor of 2, meaning that for any
table, the next-biggest table must at least be twice as big. A maximum factor
of 256 is supported.

reftable.lockTimeout::
Whenever the reftable backend appends a new table to the stack, it has
to lock the central "tables.list" file before updating it. This config
controls how long the process will wait to acquire the lock in case
another process has already acquired it. Value 0 means not to retry at
all; -1 means to try indefinitely. Default is 100 (i.e., retry for
100ms).
2 changes: 1 addition & 1 deletion GIT-VERSION-GEN
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

GVF=GIT-VERSION-FILE
DEF_VER=v2.47.0-rc0
DEF_VER=v2.47.0-rc1

LF='
'
Expand Down
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,10 @@ include shared.mak
# Define APPLE_COMMON_CRYPTO_SHA1 to use Apple's CommonCrypto for
# SHA-1.
#
# Define the same Makefile knobs as above, but suffixed with _UNSAFE to
# use the corresponding implementations for unsafe SHA-1 hashing for
# non-cryptographic purposes.
#
# If don't enable any of the *_SHA1 settings in this section, Git will
# default to its built-in sha1collisiondetection library, which is a
# collision-detecting sha1 This is slower, but may detect attempted
Expand Down Expand Up @@ -2022,6 +2026,27 @@ endif
endif
endif

ifdef OPENSSL_SHA1_UNSAFE
ifndef OPENSSL_SHA1
EXTLIBS += $(LIB_4_CRYPTO)
BASIC_CFLAGS += -DSHA1_OPENSSL_UNSAFE
endif
else
ifdef BLK_SHA1_UNSAFE
ifndef BLK_SHA1
LIB_OBJS += block-sha1/sha1.o
BASIC_CFLAGS += -DSHA1_BLK_UNSAFE
endif
else
ifdef APPLE_COMMON_CRYPTO_SHA1_UNSAFE
ifndef APPLE_COMMON_CRYPTO_SHA1
COMPAT_CFLAGS += -DCOMMON_DIGEST_FOR_OPENSSL
BASIC_CFLAGS += -DSHA1_APPLE_UNSAFE
endif
endif
endif
endif

ifdef OPENSSL_SHA256
EXTLIBS += $(LIB_4_CRYPTO)
BASIC_CFLAGS += -DSHA256_OPENSSL
Expand Down
39 changes: 20 additions & 19 deletions archive.c
Original file line number Diff line number Diff line change
Expand Up @@ -304,8 +304,6 @@ int write_archive_entries(struct archiver_args *args,
write_archive_entry_fn_t write_entry)
{
struct archiver_context context;
struct unpack_trees_options opts;
struct tree_desc t;
int err;
struct strbuf path_in_archive = STRBUF_INIT;
struct strbuf content = STRBUF_INIT;
Expand All @@ -331,23 +329,6 @@ int write_archive_entries(struct archiver_args *args,
context.args = args;
context.write_entry = write_entry;

/*
* Setup index and instruct attr to read index only
*/
if (!args->worktree_attributes) {
memset(&opts, 0, sizeof(opts));
opts.index_only = 1;
opts.head_idx = -1;
opts.src_index = args->repo->index;
opts.dst_index = args->repo->index;
opts.fn = oneway_merge;
init_tree_desc(&t, &args->tree->object.oid,
args->tree->buffer, args->tree->size);
if (unpack_trees(1, &t, &opts))
return -1;
git_attr_set_direction(GIT_ATTR_INDEX);
}

err = read_tree(args->repo, args->tree,
&args->pathspec,
queue_or_write_archive_entry,
Expand Down Expand Up @@ -540,6 +521,26 @@ static void parse_treeish_arg(const char **argv,
if (!tree)
die(_("not a tree object: %s"), oid_to_hex(&oid));

/*
* Setup index and instruct attr to read index only
*/
if (!ar_args->worktree_attributes) {
struct unpack_trees_options opts;
struct tree_desc t;

memset(&opts, 0, sizeof(opts));
opts.index_only = 1;
opts.head_idx = -1;
opts.src_index = ar_args->repo->index;
opts.dst_index = ar_args->repo->index;
opts.fn = oneway_merge;
init_tree_desc(&t, &tree->object.oid, tree->buffer, tree->size);
if (unpack_trees(1, &t, &opts))
die(_("unable to checkout working tree"));

git_attr_set_direction(GIT_ATTR_INDEX);
}

ar_args->refname = ref;
ar_args->tree = tree;
ar_args->commit_oid = commit_oid;
Expand Down
2 changes: 2 additions & 0 deletions block-sha1/sha1.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ void blk_SHA1_Init(blk_SHA_CTX *ctx);
void blk_SHA1_Update(blk_SHA_CTX *ctx, const void *dataIn, size_t len);
void blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx);

#ifndef platform_SHA_CTX
#define platform_SHA_CTX blk_SHA_CTX
#define platform_SHA1_Init blk_SHA1_Init
#define platform_SHA1_Update blk_SHA1_Update
#define platform_SHA1_Final blk_SHA1_Final
#endif
6 changes: 6 additions & 0 deletions builtin/difftool.c
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,12 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
if (fp)
fclose(fp);

hashmap_clear_and_free(&working_tree_dups, struct working_tree_entry, entry);
hashmap_clear_and_free(&wt_modified, struct path_entry, entry);
hashmap_clear_and_free(&tmp_modified, struct path_entry, entry);
hashmap_clear_and_free(&submodules, struct pair_entry, entry);
hashmap_clear_and_free(&symlinks2, struct pair_entry, entry);
release_index(&wtindex);
free(lbase_dir);
free(rbase_dir);
strbuf_release(&info);
Expand Down
14 changes: 13 additions & 1 deletion builtin/fetch-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ int cmd_fetch_pack(int argc,
struct ref *fetched_refs = NULL, *remote_refs = NULL;
const char *dest = NULL;
struct ref **sought = NULL;
struct ref **sought_to_free = NULL;
int nr_sought = 0, alloc_sought = 0;
int fd[2];
struct string_list pack_lockfiles = STRING_LIST_INIT_DUP;
Expand Down Expand Up @@ -243,6 +244,13 @@ int cmd_fetch_pack(int argc,
BUG("unknown protocol version");
}

/*
* Create a shallow copy of `sought` so that we can free all of its entries.
* This is because `fetch_pack()` will modify the array to evict some
* entries, but won't free those.
*/
DUP_ARRAY(sought_to_free, sought, nr_sought);

fetched_refs = fetch_pack(&args, fd, remote_refs, sought, nr_sought,
&shallow, pack_lockfiles_ptr, version);

Expand Down Expand Up @@ -280,9 +288,13 @@ int cmd_fetch_pack(int argc,
oid_to_hex(&ref->old_oid), ref->name);

for (size_t i = 0; i < nr_sought; i++)
free_one_ref(sought[i]);
free_one_ref(sought_to_free[i]);
free(sought_to_free);
free(sought);
free_refs(fetched_refs);
free_refs(remote_refs);
list_objects_filter_release(&args.filter_options);
oid_array_clear(&shallow);
string_list_clear(&pack_lockfiles, 0);
return ret;
}
1 change: 1 addition & 0 deletions builtin/fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,7 @@ static void filter_prefetch_refspec(struct refspec *rs)

free(rs->items[i].src);
free(rs->items[i].dst);
free(rs->raw[i]);

for (j = i + 1; j < rs->nr; j++) {
rs->items[j - 1] = rs->items[j];
Expand Down
Loading
Loading