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.46.2 #5169

Merged
merged 363 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
363 commits
Select commit Hold shift + click to select a range
ca24900
ci: adjust Azure Pipeline for `runs_on_pool`
dscho Jul 9, 2022
d43e0c8
ci: stop linking the `prove` cache
dscho Jul 9, 2022
800490f
ci: reinstate Azure Pipelines support
dscho Feb 11, 2021
a599e1b
azure-pipeline: drop the `GETTEXT_POISON` job
dscho Mar 29, 2022
1fa3bab
azure-pipeline: stop hard-coding `apt-get` calls
dscho Mar 29, 2022
2fa96e0
azure-pipeline: drop the code to write to/read from a file share
dscho Jul 9, 2022
f10d160
azure-pipeline: use partial clone/parallel checkout to initialize min…
dscho Jul 9, 2022
fac5243
azure-pipeline: downcase the job name of the `Linux32` job
dscho Jul 9, 2022
d6c73a5
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
dd17e89
azure-pipeline: run static-analysis on jammy
ttaylorr Feb 8, 2021
6f296a1
http: optionally load libcurl lazily
dscho May 6, 2023
c8feee1
config.mak.uname: add support for clangarm64
dennisameling Oct 4, 2022
7015b7e
http: support lazy-loading libcurl also on Windows
dscho May 7, 2023
b528f18
MinGW: link as terminal server aware
rimrul Jul 10, 2022
7be890e
Fix Windows version resources
Mortein Nov 2, 2022
f28be8b
bswap.h: add support for built-in bswap functions
dennisameling Oct 4, 2022
1dd84d1
ci: create clangarm64-build.yml
dennisameling Oct 4, 2022
521b0e0
status: fix for old-style submodules with commondir
sceptical-coder Oct 28, 2022
6697363
windows: skip linking `git-<command>` for built-ins
dscho Jan 27, 2023
8266ae8
windows: fix Repository>Explore Working Copy
dscho Mar 21, 2023
e463c5f
http: when loading libcurl lazily, allow for multiple SSL backends
dscho May 7, 2023
246c049
mingw: do load libcurl dynamically by default
dscho May 7, 2023
6f841b3
Add a GitHub workflow to verify that Git/Scalar work in Nano Server
dscho Nov 2, 2022
54f725f
mingw: suggest `windows.appendAtomically` in more cases
dsl101 Jul 28, 2023
ba87a0d
win32: use native ANSI sequence processing, if possible
dscho Nov 22, 2023
e9fc25a
git.rc: include winuser.h
rimrul Dec 2, 2023
db40bb9
common-main.c: fflush stdout buffer upon exit
chengzhuo5 Apr 8, 2024
55a95de
t5601/t7406(mingw): do run tests with symlink support
dscho Apr 9, 2024
0b4961d
win32: ensure that `localtime_r()` is declared even in i686 builds
dscho May 21, 2024
3f2c20a
pack-objects: add --full-name-hash option
derrickstolee Sep 7, 2024
391cd2a
Fallback to AppData if XDG_CONFIG_HOME is unset
ariellourenco Jul 2, 2024
2d4c3f4
run-command: be helpful with Git LFS fails on Windows 7
dscho Jul 4, 2024
10680be
repack: test --full-name-hash option
derrickstolee Sep 17, 2024
2d1854f
pack-objects: add GIT_TEST_FULL_NAME_HASH
derrickstolee Sep 17, 2024
8f25388
git-repack: update usage to match docs
derrickstolee Sep 9, 2024
d2791c1
p5313: add size comparison test
derrickstolee Aug 28, 2024
5f29863
test-tool: add helper for name-hash values
derrickstolee Sep 9, 2024
91a656e
Merge branch 'safe-PATH-lookup-in-gitk-on-Windows'
dscho Jan 21, 2023
d020fb4
repack/pack-objects: mark `--full-name-hash` as experimental
dscho Sep 24, 2024
9bb8d08
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
b56ceab
Merge branch 'drive-prefix'
dscho Jun 8, 2018
1fae4ed
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
0aebf43
Merge branch 'msys2-python'
dscho May 31, 2019
f1d72d6
Merge branch 'mimalloc-v2.0.9'
dscho Sep 8, 2022
a272d68
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
132f17c
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
9cfcc2c
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
c4407eb
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
5d95e68
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
9002448
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
4bff56f
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
ddff515
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
114a9aa
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
37716fd
Merge 'add-p-many-files'
dscho Jun 8, 2018
17109b4
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
1804712
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
99c8f2d
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
8015f18
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
b467341
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
a453e7f
cmake: install headless-git. (#4338)
dscho Mar 13, 2023
a94fc6a
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
e884681
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
b358254
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
c83e3a7
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
8ee6375
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
feb9282
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
ba5dbe3
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
5521650
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
48acaa2
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
abcd83e
Merge branch 'mark-v4-fsmonitor-experimental' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
0794388
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
3e47cd8
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
0c3a788
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
3d36a22
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
b81af3c
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
7dc0d18
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
0f85e66
Merge branch 'ci-fixes'
dscho Feb 11, 2021
721fb16
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
a4623d9
Fix Windows version resources (#4092)
dscho Nov 3, 2022
e620b3d
Merge branch 'builtin-swap-functions'
dscho Nov 23, 2022
a07de4e
Add support for CLANGARM64 target (#3916)
dscho Oct 28, 2022
51186c7
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
689dbe4
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
1690260
Git GUI: fix Repository>Explore Working Copy (#4357)
dscho Mar 21, 2023
8238a5b
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
335cc45
Merge branch 'nano-server'
dscho Aug 7, 2023
1c219ca
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
203661a
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
7e93642
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
e2aa8b7
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
dc31179
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
794c4ae
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
efeb89d
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
3c6f5d1
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
20bfc1f
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
562f4ba
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
58f9dfe
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
0c9b6a9
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
071ce86
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
1913d2b
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
6d42e40
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
e574b79
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
583d8aa
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
1d30c43
fscache: load directories only once
kblees Jun 24, 2014
851b171
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
61d45de
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
0a4e8f8
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
664e8ac
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
0ae9145
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
5ea907f
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
4579d69
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
af3cee0
checkout.c: enable fscache for checkout again
Jan 30, 2018
532b6f5
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
baf0136
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
174e972
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
26798fc
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
203101d
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
1746116
fscache: fscache takes an initial size
benpeart Nov 2, 2018
db35cf5
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
57d95da
fscache: add fscache hit statistics
benpeart Sep 25, 2018
ea24769
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
e01925b
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
302c46d
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
a39b0cb
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
614b54a
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
bb4a2c1
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
0275f96
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
9014b9b
gitk: Unicode file name support
kblees Feb 4, 2012
55a60a1
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
c5d4535
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
f0ac738
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
c702d42
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
cbc3820
clean: make use of FSCache
dscho Dec 11, 2018
0a75037
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
95ad775
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
aeabc15
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
0f60870
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
c364876
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
dac0ca2
Merge 'gitk' into HEAD
dscho Jun 7, 2018
ec48d4e
Merge branch 'fscache'
dscho Nov 15, 2018
a2eb554
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
a882c28
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
286118d
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
9e24b37
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
7032a31
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
e4e1360
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
65a39cb
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
5ea3feb
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
396b206
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
ff3c344
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
28c4ba7
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
5ba3f6d
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
b7b284d
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
6a38ccd
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
44f756b
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
781e463
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
021726e
mingw: support long paths
kblees Jul 28, 2015
fc0ca2b
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
f4942ce
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
7a21b9d
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
8aeffb9
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
b6b464a
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
c867250
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
21c96ac
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
a77944a
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
f2c265b
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
25eee7c
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
1925b12
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
b40940a
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
e22994d
Win32: implement stat() with symlink support
kblees May 15, 2015
a05b027
Win32: remove separate do_lstat() function
kblees May 11, 2015
6ac21c8
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
0240aa2
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
d78d40a
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
07ad87a
Win32: factor out retry logic
kblees May 19, 2015
4d77b6c
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
93348ea
Win32: add symlink-specific error codes
kblees May 15, 2015
fb3c384
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
1802cf2
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
b32ff9a
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
0137e5b
Win32: implement readlink()
kblees May 23, 2015
7cbbc7e
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
d9676dc
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
3d785fc
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
410c9d4
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
b9b2adc
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
db59bc4
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
0c61ae8
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
9e51a9a
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
1ebcc99
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
c394ccc
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
38f7ed5
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
dc6fbc7
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
722a834
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
fba86f6
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
bda809d
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
850e3ca
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
4127450
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
864e8d8
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
0542732
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
2d2de6c
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
d2062cc
gitattributes: mark .png files as binary
dscho Oct 11, 2018
fb41649
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
a78bf1f
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
06fc9fc
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
ec5232f
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
91d1456
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
3d148a6
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
c282e1d
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
1faeaf0
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
4623aee
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
b0095e8
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
401cb93
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
a3a2b32
mingw: kill child processes in a gentler way
dscho May 17, 2017
bdf7fec
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
703d0da
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
c9076df
mingw: really handle SIGINT
dscho Apr 22, 2018
25eeae7
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
a4538e1
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
4d02bc6
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
dd7859a
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
a34a4d3
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
778b3f0
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
aed93ff
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
c841d6e
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
12224bb
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
89a6099
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
2a5e47a
Add an issue template
shiftkey Feb 18, 2016
8a0c069
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
526471d
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
4f07c52
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
e2b472d
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
0175331
Merge branch 'long-paths'
dscho Nov 15, 2018
d726d6c
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
78a986a
Merge branch 'fix-v4-fsmonitor-long-paths' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
7719206
Merge pull request #3817 from mathstuf/name-too-long-advice
dscho Apr 22, 2022
6053bf6
Merge branch 'msys2'
dscho Nov 15, 2018
802505c
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
4649583
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
7d91993
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
e4ca5c2
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
c5440d3
Merge branch 'busybox-w32'
dscho Feb 7, 2019
11c4784
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
e3623cb
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
ebfe7a9
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
6c5da62
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
122f504
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
712883e
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
64ce633
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
1e20af0
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
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -342,8 +342,8 @@ jobs:
image: alpine
distro: alpine-latest
- jobname: linux32
image: daald/ubuntu32:xenial
distro: ubuntu32-16.04
image: i386/ubuntu:focal
distro: ubuntu32-20.04
- jobname: pedantic
image: fedora
distro: fedora-latest
Expand All @@ -353,17 +353,17 @@ jobs:
runs-on: ubuntu-latest
container: ${{matrix.vector.image}}
steps:
- uses: actions/checkout@v4
if: matrix.vector.jobname != 'linux32'
- uses: actions/checkout@v1 # cannot be upgraded because Node.js Actions aren't supported in this container
- name: prepare libc6 for actions
if: matrix.vector.jobname == 'linux32'
run: apt -q update && apt -q -y install libc6-amd64 lib64stdc++6
- uses: actions/checkout@v4
- run: ci/install-dependencies.sh
- run: ci/run-build-and-tests.sh
- name: print test failures
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
run: ci/print-test-failures.sh
- name: Upload failed tests' directories
if: failure() && env.FAILED_TEST_ARTIFACTS != '' && matrix.vector.jobname != 'linux32'
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
uses: actions/upload-artifact@v4
with:
name: failed-tests-${{matrix.vector.jobname}}
Expand Down
3 changes: 3 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ test:linux:
fi
parallel:
matrix:
- jobname: linux-old
image: ubuntu:16.04
CC: gcc
- jobname: linux-sha256
image: ubuntu:latest
CC: clang
Expand Down
23 changes: 23 additions & 0 deletions Documentation/RelNotes/2.46.2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Git 2.46.2 Release Notes
========================

This release is primarily to merge changes to unbreak the 32-bit
GitHub actions jobs we use for CI testing, so that we can release
real fixes for the 2.46.x track after they pass CI.

It also reverts the "git patch-id" change that went into 2.46.1,
as it seems to have got a regression reported (I haven't verified,
but it is better to keep a known breakage than adding an unintended
regression).

Other than that, a handful of minor bugfixes are included.

* In a few corner cases "git diff --exit-code" failed to report
"changes" (e.g., renamed without any content change), which has
been corrected.

* Cygwin does have /dev/tty support that is needed by things like
single-key input mode.

* The interpret-trailers command failed to recognise the end of the
message when the commit log ends in an incomplete line.
13 changes: 7 additions & 6 deletions Documentation/config/remote.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@ remote.<name>.mirror::
as if the `--mirror` option was given on the command line.

remote.<name>.skipDefaultUpdate::
If true, this remote will be skipped by default when updating
using linkgit:git-fetch[1] or the `update` subcommand of
linkgit:git-remote[1].
A deprecated synonym to `remote.<name>.skipFetchAll` (if
both are set in the configuration files with different
values, the value of the last occurrence will be used).

remote.<name>.skipFetchAll::
If true, this remote will be skipped by default when updating
using linkgit:git-fetch[1] or the `update` subcommand of
linkgit:git-remote[1].
If true, this remote will be skipped when updating
using linkgit:git-fetch[1], the `update` subcommand of
linkgit:git-remote[1], and ignored by the prefetch task
of `git maitenance`.

remote.<name>.receivepack::
The default program to execute on the remote side when pushing. See
Expand Down
5 changes: 3 additions & 2 deletions Documentation/fetch-options.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
--[no-]all::
Fetch all remotes. This overrides the configuration variable
`fetch.all`.
Fetch all remotes, except for the ones that has the
`remote.<name>.skipFetchAll` configuration variable set.
This overrides the configuration variable fetch.all`.

-a::
--append::
Expand Down
3 changes: 3 additions & 0 deletions Documentation/git-maintenance.txt
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ with the prefetch task, the objects necessary to complete a later real fetch
would already be obtained, making the real fetch faster. In the ideal case,
it will just become an update to a bunch of remote-tracking branches without
any object transfer.
+
The `remote.<name>.skipFetchAll` configuration can be used to
exclude a particular remote from getting prefetched.

gc::
Clean up unnecessary files and optimize the local repository. "GC"
Expand Down
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.46.1
DEF_VER=v2.46.2

LF='
'
Expand Down
2 changes: 1 addition & 1 deletion RelNotes
1 change: 1 addition & 0 deletions builtin/interpret-trailers.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ static void read_input_file(struct strbuf *sb, const char *file)
if (strbuf_read(sb, fileno(stdin), 0) < 0)
die_errno(_("could not read from stdin"));
}
strbuf_complete_line(sb);
}

static void interpret_trailers(const struct process_trailer_options *opts,
Expand Down
93 changes: 21 additions & 72 deletions builtin/patch-id.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
#include "parse-options.h"
#include "setup.h"

static void flush_current_id(struct object_id *id, struct object_id *result)
static void flush_current_id(int patchlen, struct object_id *id, struct object_id *result)
{
printf("%s %s\n", oid_to_hex(result), oid_to_hex(id));
if (patchlen)
printf("%s %s\n", oid_to_hex(result), oid_to_hex(id));
}

static int remove_space(char *line)
Expand Down Expand Up @@ -59,27 +60,9 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)
return 1;
}

/*
* flag bits to control get_one_patchid()'s behaviour.
*
* STABLE/VERBATIM are given from the command line option as
* --stable/--verbatim. FIND_HEADER conveys the internal state
* maintained by the caller to allow the function to avoid mistaking
* lines of log message before seeing the "diff" part as the beginning
* of the next patch.
*/
enum {
GOPID_STABLE = (1<<0), /* --stable */
GOPID_VERBATIM = (1<<1), /* --verbatim */
GOPID_FIND_HEADER = (1<<2), /* stop at the beginning of patch message */
};

static int get_one_patchid(struct object_id *next_oid, struct object_id *result,
struct strbuf *line_buf, unsigned flags)
struct strbuf *line_buf, int stable, int verbatim)
{
int stable = flags & GOPID_STABLE;
int verbatim = flags & GOPID_VERBATIM;
int find_header = flags & GOPID_FIND_HEADER;
int patchlen = 0, found_next = 0;
int before = -1, after = -1;
int diff_is_binary = 0;
Expand All @@ -94,40 +77,24 @@ static int get_one_patchid(struct object_id *next_oid, struct object_id *result,
const char *p = line;
int len;

/*
* The caller hasn't seen us find a patch header and
* return to it, or we have started processing patch
* and may encounter the beginning of the next patch.
*/
if (find_header) {
/*
* If we see a line that begins with "<object name>",
* "commit <object name>" or "From <object name>", it is
* the beginning of a patch. Return to the caller, as
* we are done with the one we have been processing.
*/
if (skip_prefix(line, "commit ", &p))
;
else if (skip_prefix(line, "From ", &p))
;
if (!get_oid_hex(p, next_oid)) {
if (verbatim)
the_hash_algo->update_fn(&ctx, line, strlen(line));
found_next = 1;
break;
}
/* Possibly skip over the prefix added by "log" or "format-patch" */
if (!skip_prefix(line, "commit ", &p) &&
!skip_prefix(line, "From ", &p) &&
starts_with(line, "\\ ") && 12 < strlen(line)) {
if (verbatim)
the_hash_algo->update_fn(&ctx, line, strlen(line));
continue;
}

if (!get_oid_hex(p, next_oid)) {
found_next = 1;
break;
}

/* Ignore commit comments */
if (!patchlen && !starts_with(line, "diff "))
continue;

/*
* We are past the commit log message. Prepare to
* stop at the beginning of the next patch header.
*/
find_header = 1;

/* Parsing diff header? */
if (before == -1) {
if (starts_with(line, "GIT binary patch") ||
Expand Down Expand Up @@ -160,16 +127,6 @@ static int get_one_patchid(struct object_id *next_oid, struct object_id *result,
break;
}

/*
* A hunk about an incomplete line may have this
* marker at the end, which should just be ignored.
*/
if (starts_with(line, "\\ ") && 12 < strlen(line)) {
if (verbatim)
the_hash_algo->update_fn(&ctx, line, strlen(line));
continue;
}

if (diff_is_binary) {
if (starts_with(line, "diff ")) {
diff_is_binary = 0;
Expand Down Expand Up @@ -216,20 +173,17 @@ static int get_one_patchid(struct object_id *next_oid, struct object_id *result,
return patchlen;
}

static void generate_id_list(unsigned flags)
static void generate_id_list(int stable, int verbatim)
{
struct object_id oid, n, result;
int patchlen;
struct strbuf line_buf = STRBUF_INIT;

oidclr(&oid, the_repository->hash_algo);
flags |= GOPID_FIND_HEADER;
while (!feof(stdin)) {
patchlen = get_one_patchid(&n, &result, &line_buf, flags);
if (patchlen)
flush_current_id(&oid, &result);
patchlen = get_one_patchid(&n, &result, &line_buf, stable, verbatim);
flush_current_id(patchlen, &oid, &result);
oidcpy(&oid, &n);
flags &= ~GOPID_FIND_HEADER;
}
strbuf_release(&line_buf);
}
Expand Down Expand Up @@ -265,7 +219,6 @@ int cmd_patch_id(int argc, const char **argv, const char *prefix)
/* if nothing is set, default to unstable */
struct patch_id_opts config = {0, 0};
int opts = 0;
unsigned flags = 0;
struct option builtin_patch_id_options[] = {
OPT_CMDMODE(0, "unstable", &opts,
N_("use the unstable patch-id algorithm"), 1),
Expand Down Expand Up @@ -297,11 +250,7 @@ int cmd_patch_id(int argc, const char **argv, const char *prefix)
if (!the_hash_algo)
repo_set_hash_algo(the_repository, GIT_HASH_SHA1);

if (opts ? opts > 1 : config.stable)
flags |= GOPID_STABLE;
if (opts ? opts == 3 : config.verbatim)
flags |= GOPID_VERBATIM;
generate_id_list(flags);

generate_id_list(opts ? opts > 1 : config.stable,
opts ? opts == 3 : config.verbatim);
return 0;
}
54 changes: 33 additions & 21 deletions ci/install-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,37 +33,49 @@ fedora-*)
dnf -yq update >/dev/null &&
dnf -yq install make gcc findutils diffutils perl python3 gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel >/dev/null
;;
ubuntu-*)
ubuntu-*|ubuntu32-*)
# Required so that apt doesn't wait for user input on certain packages.
export DEBIAN_FRONTEND=noninteractive

case "$distro" in
ubuntu-*)
SVN='libsvn-perl subversion'
;;
*)
SVN=
;;
esac

sudo apt-get -q update
sudo apt-get -q -y install \
language-pack-is libsvn-perl apache2 cvs cvsps git gnupg subversion \
language-pack-is apache2 cvs cvsps git gnupg $SVN \
make libssl-dev libcurl4-openssl-dev libexpat-dev wget sudo default-jre \
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl \
libemail-valid-perl libio-pty-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE

mkdir --parents "$CUSTOM_PATH"
wget --quiet --directory-prefix="$CUSTOM_PATH" \
"$P4WHENCE/bin.linux26x86_64/p4d" "$P4WHENCE/bin.linux26x86_64/p4"
chmod a+x "$CUSTOM_PATH/p4d" "$CUSTOM_PATH/p4"

wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
tar -xzf "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" \
-C "$CUSTOM_PATH" --strip-components=1 "git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs"
rm "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"

wget --quiet "$JGITWHENCE" --output-document="$CUSTOM_PATH/jgit"
chmod a+x "$CUSTOM_PATH/jgit"
;;
ubuntu32-*)
sudo linux32 --32bit i386 sh -c '
apt update >/dev/null &&
apt install -y build-essential libcurl4-openssl-dev \
libssl-dev libexpat-dev gettext python >/dev/null
'
case "$distro" in
ubuntu-16.04)
# Does not support JGit, but we also don't really care about
# the others. We rather care whether Git still compiles and
# runs fine overall.
;;
ubuntu-*)
mkdir --parents "$CUSTOM_PATH"

wget --quiet --directory-prefix="$CUSTOM_PATH" \
"$P4WHENCE/bin.linux26x86_64/p4d" "$P4WHENCE/bin.linux26x86_64/p4"
chmod a+x "$CUSTOM_PATH/p4d" "$CUSTOM_PATH/p4"

wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
tar -xzf "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" \
-C "$CUSTOM_PATH" --strip-components=1 "git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs"
rm "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"

wget --quiet "$JGITWHENCE" --output-document="$CUSTOM_PATH/jgit"
chmod a+x "$CUSTOM_PATH/jgit"
;;
esac
;;
macos-*)
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
Expand Down
9 changes: 8 additions & 1 deletion ci/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,14 @@ ubuntu-*)
fi
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"

export GIT_TEST_HTTPD=true
case "$distro" in
ubuntu-16.04)
# Apache is too old for HTTP/2.
;;
*)
export GIT_TEST_HTTPD=true
;;
esac

# The Linux build installs the defined dependency versions below.
# The OS X build installs much more recent versions, whichever
Expand Down
Loading
Loading