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.38.0-rc1 #4032

Merged
merged 401 commits into from Sep 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
401 commits
Select commit Hold shift + click to select a range
e0d8176
git-artifacts: use the `setup-git-for-windows-sdk` Action
dscho Feb 23, 2021
a2a4f8e
Add schannel to curl installation
dennisameling Dec 6, 2020
7f9f87f
CMake: default Visual Studio generator has changed
PhilipOakley Jul 1, 2021
23fb53f
Merge branch 'dennisameling-git-credential-manager-core-arm64'
dscho Aug 7, 2021
6978229
.gitignore: add Visual Studio CMakeSetting.json file
PhilipOakley Apr 24, 2021
6a7fbc4
Merge branch 'dscho-assorted-git-artifacts-fixes'
dscho Aug 7, 2021
534e67a
subtree: update `contrib/subtree` `test` target
vdye Aug 5, 2021
5e2b1f6
CMakeLists: add default "x64-windows" arch for Visual Studio
PhilipOakley Apr 22, 2021
d8f646d
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
c9c8710
ci(): add HOST_CPU to CMake command
dennisameling Jul 19, 2021
c1f85f3
ci(vs-build): download the vcpkg artifacts using a dedicated Action
dscho Feb 19, 2021
ffdce9b
mingw: allow for longer paths in `parse_interpreter()`
dscho Apr 2, 2021
af09265
compat/vcbuild: document preferred way to build in Visual Studio
dscho May 17, 2021
391b097
http: optionally send SSL client certificate
pascalmuller Jun 23, 2021
406cd1d
ci: run `contrib/subtree` tests in CI builds
vdye Aug 5, 2021
49674f1
CMake: show Win32 and Generator_platform build-option values
PhilipOakley May 10, 2021
2f93a90
init: do parse _all_ core.* settings early
dscho Sep 8, 2021
4b272bd
hash-object: demonstrate a >4GB/LLP64 problem
PhilipOakley Oct 31, 2021
1ee67eb
hash_object_file_literally(): use size_t
PhilipOakley Nov 12, 2021
03936f2
vcxproj: allow building with `NO_PERL` again
dscho Mar 29, 2022
34b4f68
object-file.c: use size_t for header lengths
PhilipOakley Nov 12, 2021
005f80c
vcxproj: require C11
dscho Jun 28, 2022
334860c
hash algorithms: use size_t for section lengths
PhilipOakley Nov 12, 2021
50bec54
vcxproj: ignore the `-pedantic` option
dscho Jun 28, 2022
026b8d3
hash-object --stdin: verify that it works with >4GB/LLP64
PhilipOakley Dec 6, 2021
4160649
vcxproj: include reftable when committing `.vcxproj` files
dscho Jun 28, 2022
09c68e9
hash-object: add another >4GB/LLP64 test case
PhilipOakley Dec 6, 2021
b126552
setup: properly use "%(prefix)/" when in WSL
derrickstolee Apr 13, 2022
0f97491
vcxproj: handle libreftable_test, too
dscho Jun 28, 2022
6fcf6fc
Enable the built-in FSMonitor as an experimental feature
dscho Mar 5, 2021
33a014d
hash-object: add a >4GB/LLP64 test case using filtered input
PhilipOakley Dec 7, 2021
ec68459
compat/mingw.c: do not warn when failing to get owner
derrickstolee Apr 13, 2022
c9a529c
mingw: $env:TERM="xterm-256color" for newer OSes
rkitover Apr 12, 2022
f060165
winansi: check result and Buffer before using Name
1480c1 May 28, 2022
0fe2bc1
Add config option `windows.appendAtomically`
sunzhuoshi Jan 15, 2022
8ea3750
vcxproj: avoid escaping double quotes in the defines
dscho Jun 28, 2022
42e3768
win32/pthread: avoid name clashes with winpthread
dscho Oct 20, 2019
70cb56e
ci: adjust Azure Pipeline for `runs_on_pool`
dscho Jul 9, 2022
8b0c082
git-compat-util: avoid redeclaring _DEFAULT_SOURCE
dscho Aug 12, 2022
f7d9c98
ci: stop linking the `prove` cache
dscho Jul 9, 2022
111e8ff
Import the source code of mimalloc
dscho Jun 24, 2019
95435ff
ci: reinstate Azure Pipelines support
dscho Feb 11, 2021
0495713
mimalloc: adjust for building inside Git
dscho Jun 24, 2019
b0b1934
azure-pipeline: drop the `GETTEXT_POISON` job
dscho Mar 29, 2022
0cf7358
mimalloc: avoid `%z` format
dscho Aug 12, 2022
3f4dd05
azure-pipeline: stop hard-coding `apt-get` calls
dscho Mar 29, 2022
7c6d4ad
mimalloc: avoid having to link to `psapi` just for mimalloc
dscho Oct 20, 2019
8c69f10
azure-pipeline: drop the code to write to/read from a file share
dscho Jul 9, 2022
64f09f3
mimalloc: avoid having to link to `bcrypt` just for mimalloc
dscho Aug 12, 2022
2a15ef6
azure-pipeline: use partial clone/parallel checkout to initialize min…
dscho Jul 9, 2022
c5d12c1
mimalloc: offer a build-time option to enable it
dscho Jun 24, 2019
2cb4e87
azure-pipeline: downcase the job name of the `Linux32` job
dscho Jul 9, 2022
baf7a64
mimalloc: make MIMALLOC_SHOW_STATS work with redirected `stderr`
dscho Aug 12, 2022
dd315da
azure-pipeline: run static-analysis on bionic
ttaylorr Feb 8, 2021
6b3c69b
MinGW: link as terminal server aware
rimrul Jul 10, 2022
6076a6e
mingw: use mimalloc
dscho Jun 24, 2019
1259617
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
ba8ef66
Merge branch 'drive-prefix'
dscho Jun 8, 2018
5bda209
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
a99729a
Merge pull request #2170 from dscho/gitk-long-cmdline
dscho Apr 26, 2019
412cfd5
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
7d86650
Merge branch 'msys2-python'
dscho May 31, 2019
a97bca0
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
39fea2a
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
38324e0
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
d251678
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
d38c93b
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
a237bb3
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
b49dd94
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
582112e
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
bc4b2db
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
ca5505d
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
509b410
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
57cd3d8
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
4780a09
respect core.hooksPath, falling back to .git/hooks
dscho Oct 4, 2018
98dc265
gitk: Unicode file name support
kblees Feb 4, 2012
402cfb1
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
a4f0d2a
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
338fb01
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
b34d25e
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
9fa79fc
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
6dd8b37
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
78632b6
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
9fb1b19
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
f74697c
Merge 'gitk' into HEAD
dscho Jun 7, 2018
677790f
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
a573830
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
66acd8b
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
cf303e2
Add an issue template
shiftkey Feb 18, 2016
e53f1f8
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
9e4f6ba
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
ca7cd83
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
901f599
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
ee532c7
mingw: deprecate old-style runtime-prefix handling in interpolate_path()
dscho Dec 11, 2015
7dd3289
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
6c56325
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
ac40eb3
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
130cfcf
Merge 'add-p-many-files'
dscho Jun 8, 2018
035ae5d
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
b5f29fa
Merge pull request #2714 from lbonanomi/main
dscho Jul 3, 2020
7e1122c
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
eee84d4
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
c6a6493
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
fd4e98b
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
8cf6e1c
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
e820758
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
f39b8b3
Merge pull request #3150 from dscho/ci-cache-vcpkg-artifacts-g4w
dscho Mar 28, 2021
5cf2444
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
077357a
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
d330509
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
3c65b3b
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
a8a7ae3
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
e60d27f
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
c86beec
Merge branch 'mark-v4-fsmonitor-experimental' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
6943cfe
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
3d759d8
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
3994763
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
0835f5a
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
af977ca
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
f2c74aa
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
9602637
Merge branch 'ci-fixes'
dscho Feb 11, 2021
8c6f158
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
888034b
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
5220aea
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
67d2b8a
Merge pull request #4013 from dscho/mimalloc
dscho Sep 8, 2022
7210ff7
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
7bc808b
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
6cdb2fb
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
a8598ed
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
74e7e79
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
5dc079e
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
2e26a6f
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
cffcb62
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
0890b0a
fscache: load directories only once
kblees Jun 24, 2014
0d766ed
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
fb506ce
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
dd574be
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
81fc1c8
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
6265caf
checkout.c: enable fscache for checkout again
Jan 30, 2018
a917ff9
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
c5c3a85
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
31f4a14
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
5e9d22b
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
511e2cd
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
f995134
fscache: fscache takes an initial size
benpeart Nov 2, 2018
c1014ad
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
b62c18b
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
c4f9797
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
2096c0e
fscache: add fscache hit statistics
benpeart Sep 25, 2018
c4bb102
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
cd119f2
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
aadde92
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
3ac93fc
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
be9795a
clean: make use of FSCache
dscho Dec 11, 2018
9c28fea
Merge branch 'fscache'
dscho Nov 15, 2018
bcc4aba
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
a5d407f
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
a713ed2
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
c0fd1a1
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
64d02eb
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
6a5a035
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
86bfd1b
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
0716487
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
85771cd
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
240bef3
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
8a5cd20
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
32d12fe
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
5cbb829
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
fe95dea
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
2c04911
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
3d9387a
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
d925b68
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
40772e0
mingw: support long paths
kblees Jul 28, 2015
8c5823d
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
366cf5c
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
aeda9ae
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
f391b19
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
26fa080
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
ae58428
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
af9bd03
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
a28d904
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
d5ac68e
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
6e09ae2
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
1100ffb
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
5e0578d
Win32: implement stat() with symlink support
kblees May 15, 2015
ae4e96b
Win32: remove separate do_lstat() function
kblees May 11, 2015
aa33f26
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
0a17234
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
c96e396
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
1575448
Win32: factor out retry logic
kblees May 19, 2015
a64ec30
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
199b080
Win32: add symlink-specific error codes
kblees May 15, 2015
90bbb62
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
8458d84
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
89798ae
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
ed2b8c1
Win32: implement readlink()
kblees May 23, 2015
628e191
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
2fa7c31
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
d25cf4e
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
65e654e
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
2c12a23
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
348c78a
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
3e5a5c4
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
322fe4a
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
5d11986
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
39c16ac
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
32e946b
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
cf74ed5
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
7da6e7b
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
469f0c6
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
27ea878
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
950da0a
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
486da74
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
fa912e4
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
1bd6e5c
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
5c32e43
gitattributes: mark .png files as binary
dscho Oct 11, 2018
a3a4876
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
ce25ea8
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
1264fff
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
11d64fa
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
874f370
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
069e648
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
a1077e6
t0021: use Windows path when appropriate
dscho Aug 4, 2017
1066699
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
09a3d4c
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
fd2cce4
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
9a89257
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
7629ab1
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
97088dd
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
dea4755
mingw: kill child processes in a gentler way
dscho May 17, 2017
493fb69
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
732efcf
mingw: really handle SIGINT
dscho Apr 22, 2018
78d6d6f
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
9904679
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
53993e1
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
4eeddf7
Merge branch 'long-paths'
dscho Nov 15, 2018
a7601a9
Merge branch 'fix-v4-fsmonitor-long-paths' into try-v4-fsmonitor
jeffhostetler Sep 29, 2021
e8466b5
Merge pull request #3817 from mathstuf/name-too-long-advice
dscho Apr 22, 2022
3aefbad
Merge branch 'msys2'
dscho Nov 15, 2018
bac5607
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
4288c59
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
23c77fd
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
e61867b
Merge branch 'busybox-w32'
dscho Feb 7, 2019
6298bce
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
bbbd497
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
b93b6af
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
c7d873f
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
aa7517d
Merge branch 'deprecate-old-runtime-prefix-path-interpolation'
dscho Oct 15, 2021
dcc327e
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
d4b9108
Merge 'readme' into HEAD
dscho Jun 7, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -181,10 +181,12 @@
/git-verify-commit
/git-verify-pack
/git-verify-tag
/git-version
/git-web--browse
/git-whatchanged
/git-worktree
/git-write-tree
/scalar
/git-core-*/?*
/git.res
/gitweb/GITWEB-BUILD-OPTIONS
Expand Down
3 changes: 3 additions & 0 deletions Documentation/Makefile
Expand Up @@ -21,6 +21,7 @@ MAN1_TXT += $(filter-out \
MAN1_TXT += git.txt
MAN1_TXT += gitk.txt
MAN1_TXT += gitweb.txt
MAN1_TXT += scalar.txt

# man5 / man7 guides (note: new guides should also be added to command-list.txt)
MAN5_TXT += gitattributes.txt
Expand Down Expand Up @@ -102,6 +103,7 @@ SP_ARTICLES += howto/coordinate-embargoed-releases
API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
SP_ARTICLES += $(API_DOCS)

TECH_DOCS += ReviewingGuidelines
TECH_DOCS += MyFirstContribution
TECH_DOCS += MyFirstObjectWalk
TECH_DOCS += SubmittingPatches
Expand All @@ -116,6 +118,7 @@ TECH_DOCS += technical/parallel-checkout
TECH_DOCS += technical/partial-clone
TECH_DOCS += technical/racy-git
TECH_DOCS += technical/reftable
TECH_DOCS += technical/scalar
TECH_DOCS += technical/send-pack-pipeline
TECH_DOCS += technical/shallow
TECH_DOCS += technical/trivial-merge
Expand Down
2 changes: 1 addition & 1 deletion Documentation/MyFirstContribution.txt
Expand Up @@ -1160,7 +1160,7 @@ all named like `v2-000n-my-commit-subject.patch`. `-v2` will also format
your patches by prefixing them with "[PATCH v2]" instead of "[PATCH]",
and your range-diff will be prefaced with "Range-diff against v1".

Afer you run this command, `format-patch` will output the patches to the `psuh/`
After you run this command, `format-patch` will output the patches to the `psuh/`
directory, alongside the v1 patches. Using a single directory makes it easy to
refer to the old v1 patches while proofreading the v2 patches, but you will need
to be careful to send out only the v2 patches. We will use a pattern like
Expand Down
2 changes: 1 addition & 1 deletion Documentation/MyFirstObjectWalk.txt
Expand Up @@ -534,7 +534,7 @@ the arguments to `traverse_commit_list()`.
- `void *show_data`: A context buffer which is passed in turn to `show_commit`
and `show_object`.

In addition, `traverse_commit_list_filtered()` has an additional paramter:
In addition, `traverse_commit_list_filtered()` has an additional parameter:

- `struct oidset *omitted`: A linked-list of object IDs which the provided
filter caused to be omitted.
Expand Down
33 changes: 22 additions & 11 deletions Documentation/RelNotes/2.38.0.txt
Expand Up @@ -6,7 +6,7 @@ UI, Workflows & Features
* "git remote show [-n] frotz" now pays attention to negative
pathspec.

* "git push" sometimes perform poorly when reachability bitmaps are
* "git push" sometimes performs poorly when reachability bitmaps are
used, even in a repository where other operations are helped by
bitmaps. The push.useBitmaps configuration variable is introduced
to allow disabling use of reachability bitmaps only for "git push".
Expand All @@ -27,7 +27,7 @@ UI, Workflows & Features
what locale they are in by sending Accept-Language HTTP header, but
this was done only for some requests but not others.

* Introduce a discovery.barerepository configuration variable that
* Introduce a safe.barerepository configuration variable that
allows users to forbid discovery of bare repositories.

* Various messages that come from the pack-bitmap codepaths have been
Expand Down Expand Up @@ -79,12 +79,15 @@ UI, Workflows & Features

* "git format-patch --from=<ident>" can be told to add an in-body
"From:" line even for commits that are authored by the given
<ident> with "--force-in-body-from"option.
<ident> with "--force-in-body-from" option.

* The built-in fsmonitor refuses to work on a network mounted
repositories; a configuration knob for users to override this has
been introduced.

* The "scalar" addition from Microsoft is now part of the core Git
installation.


Performance, Internal Implementation, Development Support etc.

Expand Down Expand Up @@ -127,7 +130,7 @@ Performance, Internal Implementation, Development Support etc.

* The way "git multi-pack" uses parse-options API has been improved.

* A coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
* A Coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
macro has been improved.

* API tweak to make it easier to run fuzz testing on commit-graph parser.
Expand Down Expand Up @@ -172,6 +175,12 @@ Performance, Internal Implementation, Development Support etc.
* Share the text used to explain configuration variables used by "git
<subcmd>" in "git help <subcmd>" with the text from "git help config".

* "git mv A B" in a sparsely populated working tree can be asked to
move a path from a directory that is "in cone" to another directory
that is "out of cone". Handling of such a case has been improved.

* The chainlint script for our tests has been revamped.


Fixes since v2.37
-----------------
Expand Down Expand Up @@ -297,7 +306,7 @@ Fixes since v2.37
* "git fsck" reads mode from tree objects but canonicalizes the mode
before passing it to the logic to check object sanity, which has
hid broken tree objects from the checking logic. This has been
corrected, but to help exiting projects with broken tree objects
corrected, but to help existing projects with broken tree objects
that they cannot fix retroactively, the severity of anomalies this
code detects has been demoted to "info" for now.

Expand All @@ -306,33 +315,27 @@ Fixes since v2.37

* An earlier optimization discarded a tree-object buffer that is
still in use, which has been corrected.
(merge 1490d7d82d jk/is-promisor-object-keep-tree-in-use later to maint).

* Fix deadlocks between main Git process and subprocess spawned via
the pipe_command() API, that can kill "git add -p" that was
reimplemented in C recently.
(merge 716c1f649e jk/pipe-command-nonblock later to maint).

* The sequencer machinery translated messages left in the reflog by
mistake, which has been corrected.

* xcalloc(), imitating calloc(), takes "number of elements of the
array", and "size of a single element", in this order. A call that
does not follow this ordering has been corrected.
(merge c4bbd9bb8f sg/xcalloc-cocci-fix later to maint).

* The preload-index codepath made copies of pathspec to give to
multiple threads, which were left leaked.
(merge 23578904da ad/preload-plug-memleak later to maint).

* Update the version of Ubuntu used for GitHub Actions CI from 18.04
to 22.04.
(merge ef46584831 ds/github-actions-use-newer-ubuntu later to maint).

* The auto-stashed local changes created by "git merge --autostash"
was mixed into a conflicted state left in the working tree, which
has been corrected.
(merge d3a9295ada en/merge-unstash-only-on-clean-merge later to maint).

* Multi-pack index got corrupted when preferred pack changed from one
pack to another in a certain way, which has been corrected.
Expand Down Expand Up @@ -387,6 +390,14 @@ Fixes since v2.37
been corrected.
(merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint).

* A result from opendir() was leaking in the commit-graph expiration
codepath, which has been plugged.
(merge 12f1ae5324 ml/commit-graph-expire-dir-leak-fix later to maint).

* Just like we have coding guidelines, we now have guidelines for
reviewers.
(merge e01b851923 vd/doc-reviewing-guidelines later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 77b9e85c0f vd/fix-perf-tests later to maint).
(merge 0682bc43f5 jk/test-crontab-fixes later to maint).
Expand Down
162 changes: 162 additions & 0 deletions Documentation/ReviewingGuidelines.txt
@@ -0,0 +1,162 @@
Reviewing Patches in the Git Project
====================================

Introduction
------------
The Git development community is a widely distributed, diverse, ever-changing
group of individuals. Asynchronous communication via the Git mailing list poses
unique challenges when reviewing or discussing patches. This document contains
some guiding principles and helpful tools you can use to make your reviews both
more efficient for yourself and more effective for other contributors.

Note that none of the recommendations here are binding or in any way a
requirement of participation in the Git community. They are provided as a
resource to supplement your skills as a contributor.

Principles
----------

Selecting patch(es) to review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are looking for a patch series in need of review, start by checking
latest "What's cooking in git.git" email
(https://lore.kernel.org/git/xmqqilm1yp3m.fsf@gitster.g/[example]). The "What's
cooking" emails & replies can be found using the query `s:"What's cooking"` on
the https://lore.kernel.org/git/[`lore.kernel.org` mailing list archive];
alternatively, you can find the contents of the "What's cooking" email tracked
in `whats-cooking.txt` on the `todo` branch of Git. Topics tagged with "Needs
review" and those in the "[New Topics]" section are typically those that would
benefit the most from additional review.

Patches can also be searched manually in the mailing list archive using a query
like `s:"PATCH" -s:"Re:"`. You can browse these results for topics relevant to
your expertise or interest.

If you've already contributed to Git, you may also be CC'd in another
contributor's patch series. These are topics where the author feels that your
attention is warranted. This may be because their patch changes something you
wrote previously (making you a good judge of whether the new approach does or
doesn't work), or because you have the expertise to provide an exceptionally
helpful review. There is no requirement to review these patches but, in the
spirit of open source collaboration, you should strongly consider doing so.

Reviewing patches
~~~~~~~~~~~~~~~~~
While every contributor takes their own approach to reviewing patches, here are
some general pieces of advice to make your reviews as clear and helpful as
possible. The advice is broken into two rough categories: high-level reviewing
guidance, and concrete tips for interacting with patches on the mailing list.

==== High-level guidance
- Remember to review the content of commit messages for correctness and clarity,
in addition to the code change in the patch's diff. The commit message of a
patch should accurately and fully explain the code change being made in the
diff.

- Reviewing test coverage is an important - but easy to overlook - component of
reviews. A patch's changes may be covered by existing tests, or new tests may
be introduced to exercise new behavior. Checking out a patch or series locally
allows you to manually mutate lines of new & existing tests to verify expected
pass/fail behavior. You can use this information to verify proper coverage or
to suggest additional tests the author could add.

- When providing a recommendation, be as clear as possible about whether you
consider it "blocking" (the code would be broken or otherwise made worse if an
issue isn't fixed) or "non-blocking" (the patch could be made better by taking
the recommendation, but acceptance of the series does not require it).
Non-blocking recommendations can be particularly ambiguous when they are
related to - but outside the scope of - a series ("nice-to-have"s), or when
they represent only stylistic differences between the author and reviewer.

- When commenting on an issue, try to include suggestions for how the author
could fix it. This not only helps the author to understand and fix the issue,
it also deepens and improves your understanding of the topic.

- Reviews do not need to exclusively point out problems. Feel free to "think out
loud" in your review: describe how you read & understood a complex section of
a patch, ask a question about something that confused you, point out something
you found exceptionally well-written, etc. In particular, uplifting feedback
goes a long way towards encouraging contributors to participate more actively
in the Git community.

==== Performing your review
- Provide your review comments per-patch in a plaintext "Reply-All" email to the
relevant patch. Comments should be made inline, immediately below the relevant
section(s).

- You may find that the limited context provided in the patch diff is sometimes
insufficient for a thorough review. In such cases, you can review patches in
your local tree by either applying patches with linkgit:git-am[1] or checking
out the associated branch from https://github.com/gitster/git once the series
is tracked there.

- Large, complicated patch diffs are sometimes unavoidable, such as when they
refactor existing code. If you find such a patch difficult to parse, try
reviewing the diff produced with the `--color-moved` and/or
`--ignore-space-change` options.

- If a patch is long, you are encouraged to delete parts of it that are
unrelated to your review from the email reply. Make sure to leave enough
context for readers to understand your comments!

- If you cannot complete a full review of a series all at once, consider letting
the author know (on- or off-list) if/when you plan to review the rest of the
series.

Completing a review
~~~~~~~~~~~~~~~~~~~
Once each patch of a series is reviewed, the author (and/or other contributors)
may discuss the review(s). This may result in no changes being applied, or the
author will send a new version of their patch(es).

After a series is rerolled in response to your or others' review, make sure to
re-review the updates. If you are happy with the state of the patch series,
explicitly indicate your approval (typically with a reply to the latest
version's cover letter). Optionally, you can let the author know that they can
add a "Reviewed-by: <you>" trailer if they resubmit the reviewed patch verbatim
in a later iteration of the series.

Finally, subsequent "What's cooking" emails may explicitly ask whether a
reviewed topic is ready for merging to the `next` branch (typically phrased
"Will merge to \'next\'?"). You can help the maintainer and author by responding
with a short description of the state of your (and others', if applicable)
review, including the links to the relevant thread(s).

Terminology
-----------
nit: ::
Denotes a small issue that should be fixed, such as a typographical error
or mis-alignment of conditions in an `if()` statement.

aside: ::
optional: ::
non-blocking: ::
Indicates to the reader that the following comment should not block the
acceptance of the patch or series. These are typically recommendations
related to code organization & style, or musings about topics related to
the patch in question, but beyond its scope.

s/<before>/<after>/::
Shorthand for "you wrote <before>, but I think you meant <after>," usually
for misspellings or other typographical errors. The syntax is a reference
to "substitute" command commonly found in Unix tools such as `ed`, `sed`,
`vim`, and `perl`.

cover letter::
The "Patch 0" of a multi-patch series. This email describes the
high-level intent and structure of the patch series to readers on the
Git mailing list. It is also where the changelog notes and range-diff of
subsequent versions are provided by the author.
+
On single-patch submissions, cover letter content is typically not sent as a
separate email. Instead, it is inserted between the end of the patch's commit
message (after the `---`) and the beginning of the diff.

#leftoverbits::
Used by either an author or a reviewer to describe features or suggested
changes that are out-of-scope of a given patch or series, but are relevant
to the topic for the sake of discussion.

See Also
--------
link:MyFirstContribution.html[MyFirstContribution]
2 changes: 1 addition & 1 deletion Documentation/cmd-list.perl
Expand Up @@ -10,7 +10,7 @@ sub format_one {
$state = 0;
open I, '<', "$name.txt" or die "No such file $name.txt";
while (<I>) {
if (/^git[a-z0-9-]*\(([0-9])\)$/) {
if (/^(git|scalar)[a-z0-9-]*\(([0-9])\)$/) {
$mansection = $1;
next;
}
Expand Down
2 changes: 1 addition & 1 deletion Documentation/git.txt
Expand Up @@ -344,7 +344,7 @@ Repository, command and file interfaces

This documentation discusses repository and command interfaces which
users are expected to interact with directly. See `--user-formats` in
linkgit:git-help[1] for more details on the critera.
linkgit:git-help[1] for more details on the criteria.

include::cmds-userinterfaces.txt[]

Expand Down
4 changes: 2 additions & 2 deletions Documentation/gitprotocol-capabilities.txt
Expand Up @@ -388,8 +388,8 @@ the server as well.
Session IDs should be unique to a given process. They must fit within a
packet-line, and must not contain non-printable or whitespace characters. The
current implementation uses trace2 session IDs (see
link:api-trace2.html[api-trace2] for details), but this may change and users of
the session ID should not rely on this fact.
link:technical/api-trace2.html[api-trace2] for details), but this may change
and users of the session ID should not rely on this fact.

GIT
---
Expand Down
4 changes: 2 additions & 2 deletions Documentation/gitprotocol-v2.txt
Expand Up @@ -544,8 +544,8 @@ the server as well.
Session IDs should be unique to a given process. They must fit within a
packet-line, and must not contain non-printable or whitespace characters. The
current implementation uses trace2 session IDs (see
link:api-trace2.html[api-trace2] for details), but this may change and users of
the session ID should not rely on this fact.
link:technical/api-trace2.html[api-trace2] for details), but this may change
and users of the session ID should not rely on this fact.

object-info
~~~~~~~~~~~
Expand Down
4 changes: 2 additions & 2 deletions contrib/scalar/scalar.txt → Documentation/scalar.txt
Expand Up @@ -161,6 +161,6 @@ SEE ALSO
--------
linkgit:git-clone[1], linkgit:git-maintenance[1].

Scalar
GIT
---
Associated with the linkgit:git[1] suite
Part of the linkgit:git[1] suite
2 changes: 1 addition & 1 deletion Documentation/technical/api-error-handling.txt
Expand Up @@ -46,7 +46,7 @@ parse-options.c.
returns -1 after reporting the situation to the caller.

These reports will be logged via the trace2 facility. See the "error"
event in link:api-trace2.txt[trace2 API].
event in link:api-trace2.html[trace2 API].

Customizable error handlers
---------------------------
Expand Down
2 changes: 1 addition & 1 deletion Documentation/technical/api-parse-options.txt
Expand Up @@ -60,7 +60,7 @@ Subcommands are special in a couple of ways:

* All arguments following the subcommand are considered to be arguments of
the subcommand, and, conversely, arguments meant for the subcommand may
not preceed the subcommand.
not precede the subcommand.

Therefore, if the options array contains at least one subcommand and
`parse_options()` encounters the first dashless argument, it will either:
Expand Down