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

Merge v2.34.1.windows.1 into vfs-2.34.0 #474

Merged
merged 374 commits into from
Dec 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
374 commits
Select commit Hold shift + click to select a range
a32366f
help: include fsmonitor--daemon feature flag in version info
jeffhostetler May 12, 2021
e50036a
t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
jeffhostetler May 11, 2021
88122a4
t7527: create test for fsmonitor--daemon
jeffhostetler Dec 18, 2020
cbf27dc
t/perf: avoid copying builtin fsmonitor files into test repo
jeffhostetler Apr 21, 2021
89af4cb
t/helper/test-chmtime: skip directories on Windows
jeffhostetler Jul 20, 2021
d3a9a72
t/perf/p7519: speed up test on Windows
jeffhostetler Jul 20, 2021
df4cb57
t/perf/p7519: add fsmonitor--daemon test cases
jeffhostetler Jan 15, 2021
40bba25
fsmonitor--daemon: periodically truncate list of modified files
jeffhostetler Dec 18, 2020
1120b08
compat/fsmonitor/fsm-listen-win32: handle shortnames
jeffhostetler Jun 25, 2021
87f3269
t7527: test FS event reporing on MacOS WRT case and Unicode
jeffhostetler Jun 30, 2021
0107700
t7527: test builtin FSMonitor watching repos with unicode paths
jeffhostetler Jul 12, 2021
fe32211
fsmonitor--daemon: use a cookie file to sync with file system
jeffhostetler Dec 18, 2020
ea09452
t/helper/fsmonitor-client: create stress test
jeffhostetler Jul 27, 2021
5b03820
fsmonitor: force update index after large responses
jeffhostetler May 19, 2021
432f87a
fsmonitor-settings: bare repos are incompatible with FSMonitor
jeffhostetler Jun 23, 2021
dda544c
t7527: test status with untracked-cache and fsmonitor--daemon
jeffhostetler Mar 1, 2021
6ca05b8
fsmonitor-settings: stub in platform-specific incompatibility checking
jeffhostetler Jul 29, 2021
b29f5e0
fsmonitor-settings: virtual repos are incompatible with FSMonitor
jeffhostetler Aug 2, 2021
3cc4e7b
fsmonitor-settings: stub in platform-specific incompatibility checkin…
jeffhostetler Aug 4, 2021
bf3be83
fsmonitor-settings: remote repos on MacOS are incompatible with FSMon…
jeffhostetler Aug 4, 2021
faac59b
fsmonitor-settings: remote repos on Windows are incompatible with FSM…
jeffhostetler Aug 5, 2021
a08e79b
unpack-trees: initialize fsmonitor_has_run_once in o->result
jeffhostetler Aug 23, 2021
bc7be3d
compat/fsmonitor/fsm-listen-darwin: ignore FSEvents caused by xattr c…
jeffhostetler Aug 25, 2021
e22e71f
fsmonitor--daemon: print start message only if fsmonitor.announceStartup
jeffhostetler Aug 30, 2021
6cb3666
fsmonitor--daemon: cd out of worktree root
jeffhostetler Sep 2, 2021
5ce6846
fsmonitor--daemon: prepare for adding health thread
jeffhostetler Sep 8, 2021
9fdebb2
fsmonitor--daemon: rename listener thread related variables
jeffhostetler Sep 8, 2021
e410951
fsmonitor--daemon: stub in health thread
jeffhostetler Sep 10, 2021
db1ecd1
compat/fsmonitor/fsm-health-win32: add framework for periodically mon…
jeffhostetler Sep 10, 2021
c8ae820
compat/fsmonitor/fsm-health-win32: force shutdown daemon if worktree …
jeffhostetler Sep 10, 2021
1035715
compat/fsmonitor/fsm-listen-darwin: shutdown daemon if worktree root …
jeffhostetler Sep 10, 2021
aeb78af
fsmonitor: measure time taken to apply fsmonitor query result
jeffhostetler Sep 21, 2021
a81a5f8
fsmonitor: mark the built-in FSMonitor as experimental
dscho Mar 5, 2021
8297247
fsmonitor: optimize processing of directory events
jeffhostetler Sep 21, 2021
5c00b37
t7527: FSMonitor tests for directory moves
jeffhostetler Oct 13, 2021
90c6892
Enable the built-in FSMonitor as an experimental feature
dscho Mar 5, 2021
e614a5d
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
a461272
Merge branch 'drive-prefix'
dscho Jun 8, 2018
258a14a
Merge branch 'dont-spawn-gzip-in-archive'
dscho Feb 21, 2019
d0fa0d2
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
c1a22a4
Merge pull request #2170 from dscho/gitk-long-cmdline
dscho Apr 26, 2019
1ecd650
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
b81ba88
Merge branch 'msys2-python'
dscho May 31, 2019
a5eac1b
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
2b965e3
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
f1cd9b2
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
d38445e
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
8ef47d9
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
15df4f5
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
d250892
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
63abb1b
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
4b038ee
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
5f7b4ef
Merge 'add-p-many-files'
dscho Jun 8, 2018
4eb1b27
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
8473ab9
Merge pull request #2714 from lbonanomi/main
dscho Jul 3, 2020
78abcce
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
3609b3a
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
31eef3a
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
c9a19e0
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
665e249
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
cee9e01
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
fe4c484
Merge pull request #3150 from dscho/ci-cache-vcpkg-artifacts-g4w
dscho Mar 28, 2021
717f1f4
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
fde63a7
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
8d01a4e
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
6405cb4
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
42c198c
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
72f10d8
Merge pull request #3398 from carenas/pthread-unistd
dscho Aug 31, 2021
b967722
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
35de28f
Merge branch 'try-v4-fsmonitor-part2' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
caf108b
Merge branch 'try-v4-fsmonitor-part3' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
7b2b252
Merge branch 'try-v4-fsmonitor-part4' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
81dd764
Merge pull request #3456 from jeffhostetler/try-v4-fsmonitor-part5
dscho Oct 13, 2021
c55e8d4
Merge branch 'mark-v4-fsmonitor-experimental' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
ae09198
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
7434666
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
74aef0b
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
6d747d8
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
9f480bd
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
fe35d3f
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
0038df9
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
6883d45
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
12d3da1
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
58d8639
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
692ff14
fscache: load directories only once
kblees Jun 24, 2014
5dc86f1
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
87ff5b3
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
b4ae46e
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
5bb9a5b
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
1b3241e
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
be13988
checkout.c: enable fscache for checkout again
Jan 30, 2018
e8315c3
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
7220fc5
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
3f031ec
fscache: fscache takes an initial size
benpeart Nov 2, 2018
cc07461
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
c993f31
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
937469c
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
95ac644
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
4f5c111
fscache: add fscache hit statistics
benpeart Sep 25, 2018
de62fd7
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
2ece066
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
126786e
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
0784f49
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
8f13a5a
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
aa0ba56
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
aa56a76
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
efaa72e
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
bda6f5a
clean: make use of FSCache
dscho Dec 11, 2018
7754fe2
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
7bc9eba
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
5070060
gitk: Unicode file name support
kblees Feb 4, 2012
6529135
respect core.hooksPath, falling back to .git/hooks
dscho Oct 4, 2018
4b00b5d
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
8f7033b
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
1401a38
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
a1d96d3
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
28c944a
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
b073a8f
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
3affb18
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
d1b8d5e
Merge 'gitk' into HEAD
dscho Jun 7, 2018
9360746
Merge branch 'fscache'
dscho Nov 15, 2018
2043864
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
84eb690
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
d35244e
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
eee258f
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
b926b6f
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
1ac0423
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
70b8fcb
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
b4f23df
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
d6afd3d
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
af1fd1c
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
88fa394
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
2ec4b0f
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
4de9a8a
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
71aed6e
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
9e6c389
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
54698d4
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
e288317
mingw: support long paths
kblees Jul 28, 2015
0bc2cc7
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
3b01ff9
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
bbd2651
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
9d3ff09
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
c73608d
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
f5191bc
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
e646f62
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
fbb1579
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
535165a
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
4971ba3
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
1002ad5
Win32: implement stat() with symlink support
kblees May 15, 2015
5a221a1
Win32: remove separate do_lstat() function
kblees May 11, 2015
0c0c36b
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
0469157
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
fd6cd57
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
87b4169
Win32: factor out retry logic
kblees May 19, 2015
45ee2a2
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
141963f
Win32: add symlink-specific error codes
kblees May 15, 2015
4238d31
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
fc8f64a
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
b8df9f7
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
ef98f6d
Win32: implement readlink()
kblees May 23, 2015
c15f6e4
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
15710e2
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
0ba4348
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
3b1c546
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
3268f93
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
11cca07
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
c9ca9a1
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
fe74d06
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
2314fa8
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
df08880
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
0b3c859
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
31db93c
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
c022dc1
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
9c259bf
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
e0c9c17
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
b27c878
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
bd1f871
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
e31001e
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
63c7068
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
8e2d67b
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
e43eee1
gitattributes: mark .png files as binary
dscho Oct 11, 2018
00b4b83
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
751cd2b
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
481497c
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
3cccefe
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
8b37441
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
778c022
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
290881a
t0021: use Windows path when appropriate
dscho Aug 4, 2017
e9fd07d
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
325f9f5
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
c96027e
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
035028a
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
63b3475
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
2fc5deb
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
b3577af
mingw: kill child processes in a gentler way
dscho May 17, 2017
4364a90
mingw: really handle SIGINT
dscho Apr 22, 2018
da17ae8
status: carry the --no-lock-index option for backwards-compatibility
dscho Aug 12, 2016
9083d49
status: reinstate --show-ignored-directory as a deprecated option
dscho Nov 9, 2017
ce442bd
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
692f851
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
ff2ab77
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
05a2fb8
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
e535718
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
23e4225
Add an issue template
shiftkey Feb 18, 2016
e39b080
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
516d02f
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
40af09b
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
5dc4b2c
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
d800ad2
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
9dc68b7
Merge branch 'long-paths'
dscho Nov 15, 2018
f33c730
Merge branch 'msys2'
dscho Nov 15, 2018
d09cb7f
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
e4510e3
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
badf454
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
268288c
Merge branch 'busybox-w32'
dscho Feb 7, 2019
ba19289
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
1e8500c
Merge branch 'status-no-lock-index'
dscho Jun 8, 2018
83b585f
Merge pull request #1354 from dscho/phase-out-show-ignored-directory-…
dscho Jun 8, 2018
b976865
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
0101af9
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
722223d
compat/fsmonitor/fsm-*-win32: support long paths
dscho Aug 5, 2021
15c0108
Merge 'readme' into HEAD
dscho Jun 7, 2018
f7d1b34
mingw: deprecate old-style runtime-prefix handling in interpolate_path()
dscho Dec 11, 2015
455d3cd
Merge branch 'fix-v4-fsmonitor-long-paths' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
c876140
tmp-objdir: new API for creating temporary writable databases
neerajsi-msft Oct 4, 2021
ba84803
tmp-objdir: disable ref updates when replacing the primary odb
neerajsi-msft Oct 4, 2021
420318d
Merge branch 'ns/tmp-objdir' into ns/batched-fsync
gitster Oct 8, 2021
d1a4a8e
bulk-checkin: rename 'state' variable and separate 'plugged' boolean
neerajsi-msft Oct 4, 2021
19753b6
core.fsyncobjectfiles: batched disk flushes
neerajsi-msft Oct 4, 2021
656781a
core.fsyncobjectfiles: add windows support for batch mode
neerajsi-msft Oct 4, 2021
f51b471
update-index: use the bulk-checkin infrastructure
neerajsi-msft Oct 4, 2021
3b2c175
unpack-objects: use the bulk-checkin infrastructure
neerajsi-msft Oct 4, 2021
1ffe19d
core.fsyncobjectfiles: tests for batch mode
neerajsi-msft Oct 4, 2021
9337e38
core.fsyncobjectfiles: performance tests for add and stash
neerajsi-msft Oct 4, 2021
ad6e5ac
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
0ffcd62
Merge pull request #3472 from dscho/expand-runtime-prefix
dscho Oct 15, 2021
26b2e90
Merge branch 'ns/batched-fsync'
dscho Oct 26, 2021
75863df
mingw: make core.fsyncObjectFiles default explicit
dscho Oct 28, 2021
f85a4a4
test-genzeros: allow more than 2G zeros in Windows
carenas Oct 28, 2021
418bd01
test-tool genzeros: generate large amounts of data more efficiently
dscho Oct 28, 2021
dd2ee20
test-lib: add prerequisite for 64-bit platforms
carenas Oct 28, 2021
2cef021
t1051: introduce a smudge filter test for extremely large files
vtbassmatt Oct 22, 2021
4c76d16
odb: teach read_blob_entry to use size_t
vtbassmatt Oct 23, 2021
edcd9a1
git-compat-util: introduce more size_t helpers
dscho Oct 25, 2021
b453002
odb: guard against data loss checking out a huge file
vtbassmatt Oct 24, 2021
c0aafd3
clean/smudge: allow clean filters to process extremely large files
vtbassmatt Oct 26, 2021
7c7be41
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
9b0b8c6
Merge pull request #3487 from vtbassmatt/huge-file-smudge-clean
dscho Oct 29, 2021
2ca94ab
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
bfdae07
Merge tag 'v2.34.1.windows.1' into microsoft/git
derrickstolee Dec 4, 2021
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
23 changes: 23 additions & 0 deletions Documentation/RelNotes/2.34.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Git v2.34.1 Release Notes
=========================

This release is primarily to fix a handful of regressions in Git 2.34.

Fixes since v2.34
-----------------

* "git grep" looking in a blob that has non-UTF8 payload was
completely broken when linked with certain versions of PCREv2
library in the latest release.

* "git pull" with any strategy when the other side is behind us
should succeed as it is a no-op, but doesn't.

* An earlier change in 2.34.0 caused JGit application (that abused
GIT_EDITOR mechanism when invoking "git config") to get stuck with
a SIGTTOU signal; it has been reverted.

* An earlier change that broke .gitignore matching has been reverted.

* SubmittingPatches document gained a syntactically incorrect mark-up,
which has been corrected.
4 changes: 2 additions & 2 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ their trees themselves.
entitled "What's cooking in git.git" and "What's in git.git" giving
the status of various proposed changes.

== GitHub CI[[GHCI]]]
== GitHub CI[[GHCI]]

With an account at GitHub, you can use GitHub CI to test your changes
on Linux, Mac and Windows. See
Expand All @@ -463,7 +463,7 @@ Follow these steps for the initial setup:

After the initial setup, CI will run whenever you push new changes
to your fork of Git on GitHub. You can monitor the test state of all your
branches here: https://github.com/<Your GitHub handle>/git/actions/workflows/main.yml
branches here: `https://github.com/<Your GitHub handle>/git/actions/workflows/main.yml`

If a branch did not pass all test cases then it is marked with a red
cross. In that case you can click on the failing job and navigate to
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.34.0.vfs.0.0
DEF_VER=v2.34.1.vfs.0.0

LF='
'
Expand Down
2 changes: 1 addition & 1 deletion RelNotes
6 changes: 4 additions & 2 deletions builtin/pull.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,6 +988,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
struct object_id rebase_fork_point;
int rebase_unspecified = 0;
int can_ff;
int divergent;

if (!getenv("GIT_REFLOG_ACTION"))
set_reflog_message(argc, argv);
Expand Down Expand Up @@ -1104,15 +1105,16 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
}

can_ff = get_can_ff(&orig_head, &merge_heads);
divergent = !can_ff && !already_up_to_date(&orig_head, &merge_heads);

/* ff-only takes precedence over rebase */
if (opt_ff && !strcmp(opt_ff, "--ff-only")) {
if (!can_ff && !already_up_to_date(&orig_head, &merge_heads))
if (divergent)
die_ff_impossible();
opt_rebase = REBASE_FALSE;
}
/* If no action specified and we can't fast forward, then warn. */
if (!opt_ff && rebase_unspecified && !can_ff) {
if (!opt_ff && rebase_unspecified && divergent) {
show_advice_pull_non_ff();
die(_("Need to specify how to reconcile divergent branches."));
}
Expand Down
54 changes: 5 additions & 49 deletions dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -1352,44 +1352,6 @@ int match_pathname(const char *pathname, int pathlen,
WM_PATHNAME) == 0;
}

static int path_matches_dir_pattern(const char *pathname,
int pathlen,
struct strbuf **path_parent,
int *dtype,
struct path_pattern *pattern,
struct index_state *istate)
{
if (!*path_parent) {
char *slash;
CALLOC_ARRAY(*path_parent, 1);
strbuf_add(*path_parent, pathname, pathlen);
slash = find_last_dir_sep((*path_parent)->buf);

if (slash)
strbuf_setlen(*path_parent, slash - (*path_parent)->buf);
else
strbuf_setlen(*path_parent, 0);
}

/*
* If the parent directory matches the pattern, then we do not
* need to check for dtype.
*/
if ((*path_parent)->len &&
match_pathname((*path_parent)->buf, (*path_parent)->len,
pattern->base,
pattern->baselen ? pattern->baselen - 1 : 0,
pattern->pattern, pattern->nowildcardlen,
pattern->patternlen, pattern->flags))
return 1;

*dtype = resolve_dtype(*dtype, istate, pathname, pathlen);
if (*dtype != DT_DIR)
return 0;

return 1;
}

/*
* Scan the given exclude list in reverse to see whether pathname
* should be ignored. The first match (i.e. the last on the list), if
Expand All @@ -1405,7 +1367,6 @@ static struct path_pattern *last_matching_pattern_from_list(const char *pathname
{
struct path_pattern *res = NULL; /* undecided */
int i;
struct strbuf *path_parent = NULL;

if (!pl->nr)
return NULL; /* undefined */
Expand All @@ -1415,10 +1376,11 @@ static struct path_pattern *last_matching_pattern_from_list(const char *pathname
const char *exclude = pattern->pattern;
int prefix = pattern->nowildcardlen;

if (pattern->flags & PATTERN_FLAG_MUSTBEDIR &&
!path_matches_dir_pattern(pathname, pathlen, &path_parent,
dtype, pattern, istate))
continue;
if (pattern->flags & PATTERN_FLAG_MUSTBEDIR) {
*dtype = resolve_dtype(*dtype, istate, pathname, pathlen);
if (*dtype != DT_DIR)
continue;
}

if (pattern->flags & PATTERN_FLAG_NODIR) {
if (match_basename(basename,
Expand All @@ -1442,12 +1404,6 @@ static struct path_pattern *last_matching_pattern_from_list(const char *pathname
break;
}
}

if (path_parent) {
strbuf_release(path_parent);
free(path_parent);
}

return res;
}

Expand Down
10 changes: 5 additions & 5 deletions editor.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,11 @@ const char *git_sequence_editor(void)
static int launch_specified_editor(const char *editor, const char *path,
struct strbuf *buffer, const char *const *env)
{
int term_fail;

if (!editor)
return error("Terminal is dumb, but EDITOR unset");

if (strcmp(editor, ":")) {
int save_and_restore_term = !strcmp(editor, "vi") || !strcmp(editor, "vim");
struct strbuf realpath = STRBUF_INIT;
const char *args[] = { editor, NULL, NULL };
struct child_process p = CHILD_PROCESS_INIT;
Expand Down Expand Up @@ -86,9 +85,10 @@ static int launch_specified_editor(const char *editor, const char *path,
p.env = env;
p.use_shell = 1;
p.trace2_child_class = "editor";
term_fail = save_term(1);
if (save_and_restore_term)
save_and_restore_term = !save_term(1);
if (start_command(&p) < 0) {
if (!term_fail)
if (save_and_restore_term)
restore_term();
strbuf_release(&realpath);
return error("unable to start editor '%s'", editor);
Expand All @@ -97,7 +97,7 @@ static int launch_specified_editor(const char *editor, const char *path,
sigchain_push(SIGINT, SIG_IGN);
sigchain_push(SIGQUIT, SIG_IGN);
ret = finish_command(&p);
if (!term_fail)
if (save_and_restore_term)
restore_term();
strbuf_release(&realpath);
sig = ret - 128;
Expand Down
6 changes: 2 additions & 4 deletions grep.c
Original file line number Diff line number Diff line change
Expand Up @@ -382,10 +382,8 @@ static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt *opt
}
options |= PCRE2_CASELESS;
}
if ((!opt->ignore_locale && !has_non_ascii(p->pattern)) ||
(!opt->ignore_locale && is_utf8_locale() &&
has_non_ascii(p->pattern) && !(!opt->ignore_case &&
(p->fixed || p->is_fixed))))
if (!opt->ignore_locale && is_utf8_locale() && has_non_ascii(p->pattern) &&
!(!opt->ignore_case && (p->fixed || p->is_fixed)))
options |= (PCRE2_UTF | PCRE2_MATCH_INVALID_UTF);

#ifdef GIT_PCRE2_VERSION_10_36_OR_HIGHER
Expand Down
17 changes: 17 additions & 0 deletions t/t0008-ignores.sh
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,23 @@ test_expect_success 'exact prefix matching (without root)' '
test_cmp expect actual
'

test_expect_success 'directories and ** matches' '
cat >.gitignore <<-\EOF &&
data/**
!data/**/
!data/**/*.txt
EOF
git check-ignore file \
data/file data/data1/file1 data/data1/file1.txt \
data/data2/file2 data/data2/file2.txt >actual &&
cat >expect <<-\EOF &&
data/file
data/data1/file1
data/data2/file2
EOF
test_cmp expect actual
'

############################################################################
#
# test whitespace handling
Expand Down
6 changes: 6 additions & 0 deletions t/t7601-merge-pull-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,12 @@ test_expect_success 'pull prevents non-fast-forward with "only" in pull.ff' '
test_must_fail git pull . c3
'

test_expect_success 'already-up-to-date pull succeeds with unspecified pull.ff' '
git reset --hard c1 &&
git pull . c0 &&
test "$(git rev-parse HEAD)" = "$(git rev-parse c1)"
'

test_expect_success 'already-up-to-date pull succeeds with "only" in pull.ff' '
git reset --hard c1 &&
test_config pull.ff only &&
Expand Down
48 changes: 0 additions & 48 deletions t/t7812-grep-icase-non-ascii.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,54 +53,6 @@ test_expect_success REGEX_LOCALE 'pickaxe -i on non-ascii' '
test_cmp expected actual
'

test_expect_success GETTEXT_LOCALE,PCRE 'log --author with an ascii pattern on UTF-8 data' '
cat >expected <<-\EOF &&
Author: <BOLD;RED>À Ú Thor<RESET> <author@example.com>
EOF
test_write_lines "forth" >file4 &&
git add file4 &&
git commit --author="À Ú Thor <author@example.com>" -m sécond &&
git log -1 --color=always --perl-regexp --author=".*Thor" >log &&
grep Author log >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expected actual
'

test_expect_success GETTEXT_LOCALE,PCRE 'log --committer with an ascii pattern on ISO-8859-1 data' '
cat >expected <<-\EOF &&
Commit: Ç<BOLD;RED> O Mîtter <committer@example.com><RESET>
EOF
test_write_lines "fifth" >file5 &&
git add file5 &&
GIT_COMMITTER_NAME="Ç O Mîtter" &&
GIT_COMMITTER_EMAIL="committer@example.com" &&
git -c i18n.commitEncoding=latin1 commit -m thïrd &&
git -c i18n.logOutputEncoding=latin1 log -1 --pretty=fuller --color=always --perl-regexp --committer=" O.*" >log &&
grep Commit: log >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expected actual
'

test_expect_success GETTEXT_LOCALE,PCRE 'log --grep with an ascii pattern on UTF-8 data' '
cat >expected <<-\EOF &&
sé<BOLD;RED>con<RESET>d
EOF
git log -1 --color=always --perl-regexp --grep="con" >log &&
grep con log >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expected actual
'

test_expect_success GETTEXT_LOCALE,PCRE 'log --grep with an ascii pattern on ISO-8859-1 data' '
cat >expected <<-\EOF &&
<BOLD;RED>thïrd<RESET>
EOF
git -c i18n.logOutputEncoding=latin1 log -1 --color=always --perl-regexp --grep="th.*rd" >log &&
grep "th.*rd" log >actual.raw &&
test_decode_color <actual.raw >actual &&
test_cmp expected actual
'

test_expect_success GETTEXT_LOCALE,LIBPCRE2 'PCRE v2: setup invalid UTF-8 data' '
printf "\\200\\n" >invalid-0x80 &&
echo "ævar" >expected &&
Expand Down