Skip to content

Rebase to v2.50.0 rc0 #5649

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1,039 commits into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1039 commits
Select commit Hold shift + click to select a range
5b81277
Add config option `windows.appendAtomically`
sunzhuoshi Jan 15, 2022
486e68c
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
2aa523e
MinGW: link as terminal server aware
rimrul Jul 10, 2022
8af6262
Fix Windows version resources
Mortein Nov 2, 2022
3491a9a
http: optionally load libcurl lazily
dscho May 6, 2023
0d53de4
http: support lazy-loading libcurl also on Windows
dscho May 7, 2023
20871ad
http: when loading libcurl lazily, allow for multiple SSL backends
dscho May 7, 2023
b55a4cd
status: fix for old-style submodules with commondir
sceptical-coder Oct 28, 2022
614f222
windows: fix Repository>Explore Working Copy
dscho Mar 21, 2023
0171ece
mingw: do load libcurl dynamically by default
dscho May 7, 2023
7494874
Add a GitHub workflow to verify that Git/Scalar work in Nano Server
dscho Nov 2, 2022
8871e62
mingw: suggest `windows.appendAtomically` in more cases
dsl101 Jul 28, 2023
a2cf688
win32: use native ANSI sequence processing, if possible
dscho Nov 22, 2023
b14d4e9
git.rc: include winuser.h
rimrul Dec 2, 2023
326f4cf
revision: create mark_trees_uninteresting_dense()
derrickstolee Sep 6, 2024
4405032
pack-objects: extract should_attempt_deltas()
derrickstolee Sep 24, 2024
9f404b2
pack-objects: add --path-walk option
derrickstolee Sep 5, 2024
cb45441
pack-objects: introduce GIT_TEST_PACK_PATH_WALK
derrickstolee Sep 6, 2024
9c5a844
repack: add --path-walk option
derrickstolee Sep 5, 2024
a7ee846
common-main.c: fflush stdout buffer upon exit
chengzhuo5 Apr 8, 2024
6ab3a4b
t5601/t7406(mingw): do run tests with symlink support
dscho Apr 9, 2024
199e2c6
win32: ensure that `localtime_r()` is declared even in i686 builds
dscho May 21, 2024
fb7dcfd
Fallback to AppData if XDG_CONFIG_HOME is unset
ariellourenco Jul 2, 2024
1bf627e
run-command: be helpful with Git LFS fails on Windows 7
dscho Jul 4, 2024
9e359ca
ci: work around a problem with HTTP/2 vs libcurl v8.10.0
dscho Sep 24, 2024
5ba7e55
survey: stub in new experimental 'git-survey' command
Apr 29, 2024
0f73d6f
survey: add command line opts to select references
Apr 29, 2024
5997703
survey: start pretty printing data in table form
derrickstolee Sep 1, 2024
e04a6b1
survey: add object count summary
derrickstolee Sep 2, 2024
3cecf57
survey: summarize total sizes by object type
derrickstolee Sep 2, 2024
e2dea9d
survey: show progress during object walk
derrickstolee Sep 2, 2024
6a43772
pack-objects: enable --path-walk via config
derrickstolee Sep 5, 2024
49c79bb
survey: add ability to track prioritized lists
derrickstolee Sep 2, 2024
7cff060
scalar: enable path-walk during push via config
derrickstolee Sep 5, 2024
1eb8efe
survey: add report of "largest" paths
derrickstolee Sep 2, 2024
efb57b8
pack-objects: refactor path-walk delta phase
derrickstolee Sep 18, 2024
e760937
survey: add --top=<N> option and config
derrickstolee Sep 23, 2024
9e0f3d7
pack-objects: thread the path-based compression
derrickstolee Sep 18, 2024
6197bf3
survey: clearly note the experimental nature in the output
dscho Jul 1, 2024
93cc211
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
97f6dfa
compat/mingw: handle WSA errors in strerror
rimrul Dec 22, 2024
a79b9a2
compat/mingw: drop outdated comment
rimrul Dec 22, 2024
90f3172
t0301: actually test credential-cache on Windows
rimrul Dec 29, 2024
30a05cd
credential-cache: handle ECONNREFUSED gracefully
rimrul Dec 22, 2024
7b60042
mingw_open_existing: handle directories better
rimrul Jan 4, 2025
9af1b53
mingw: drop Windows 7-specific work-around
dscho Mar 4, 2025
d26d1a2
mingw_rename: support ReFS on Windows 2022
dscho Mar 26, 2025
1bb3709
Merge branch 'organize-mingw-includes'
dscho Jun 2, 2025
bf510be
max_tree_depth: lower it for clangarm64 on Windows
dscho Apr 15, 2025
2c945a0
reftable: do make sure to use custom allocators
dscho Mar 6, 2025
78b270e
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
513daeb
Merge branch 'drive-prefix'
dscho Jun 8, 2018
89a76ba
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
26729b5
Merge branch 'msys2-python'
dscho May 31, 2019
d7af027
win32/pthread: avoid name clashes with winpthread
dscho Oct 20, 2019
23f6017
git-compat-util: avoid redeclaring _DEFAULT_SOURCE
dscho Aug 12, 2022
ddae2dc
Import the source code of mimalloc v2.2.3
dscho Jun 24, 2019
05fa7cd
mimalloc: adjust for building inside Git
dscho Jun 24, 2019
bb3bbc5
mimalloc: offer a build-time option to enable it
dscho Jun 24, 2019
7cb513d
mingw: use mimalloc
dscho Jun 24, 2019
4f455ac
windows: skip linking `git-<command>` for built-ins
dscho Jan 27, 2023
5fe92f4
Merge branch 'mimalloc-v2.2.3'
dscho Sep 8, 2022
eb4cd33
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
87f5a22
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
f9991e7
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
217aeae
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
529496e
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
7143ec4
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
34bb922
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
cad677b
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
5025187
Merge 'add-p-many-files'
dscho Jun 8, 2018
681f9b3
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
d966e22
Merge pull request #2714 from lbonanomi/crlf-scissors
dscho Jul 3, 2020
9bd78db
Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info
dscho Oct 9, 2020
029321e
Merge 'git-gui/js/intent-to-add'
dscho Oct 18, 2020
5beee6b
Merge pull request #2974 from derrickstolee/maintenance-and-headless
dscho Jan 11, 2021
18aee4a
cmake: install headless-git. (#4338)
dscho Mar 13, 2023
3bbf572
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
0d5a1de
Merge pull request #2915 from dennisameling/windows-arm64-support
dscho Dec 9, 2020
11e8775
Merge pull request #3327 from dennisameling/fix-host-cpu
dscho Jul 19, 2021
69ce98c
Merge pull request #3165 from dscho/increase-allowed-length-of-interp…
dscho Apr 3, 2021
085a979
Merge pull request #3220 from dscho/there-is-no-vs/master-anymore
dscho May 17, 2021
6b4e35c
Merge pull request #3293 from pascalmuller/http-support-automatically…
dscho Jun 24, 2021
7f2eea1
Merge pull request #3349 from vdye/feature/ci-subtree-tests
dscho Aug 10, 2021
1391acd
Merge pull request #3306 from PhilipOakley/vs-sln
dscho Oct 12, 2021
a12edc7
Merge pull request #3417 from dscho/initialize-core.symlinks-earlier
dscho Oct 13, 2021
d2f62a1
Merge pull request #3533 from PhilipOakley/hashliteral_t
dscho Dec 15, 2021
1edaabb
Merge pull request #3791: Various fixes around `safe.directory`
derrickstolee Apr 13, 2022
fccd6b7
Merge pull request #3751 from rkitover/native-term
dscho Apr 21, 2022
fa6e637
Merge pull request #3875 from 1480c1/wine/detect_msys_tty
dscho May 30, 2022
35fc667
Merge branch 'optionally-dont-append-atomically-on-windows'
dscho Jun 23, 2022
75fa256
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
67784b1
Merge pull request #3942 from rimrul/mingw-tsaware
dscho Jul 27, 2022
3c19efb
Fix Windows version resources (#4092)
dscho Nov 3, 2022
968a032
Fix global repository field not being cleared (#4083)
dscho Dec 20, 2022
3a8a4be
Skip linking the "dashed" `git-<command>`s for built-ins (#4252)
dscho Jan 31, 2023
fc653c6
Git GUI: fix Repository>Explore Working Copy (#4357)
dscho Mar 21, 2023
f05e30a
Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (…
dscho May 15, 2023
bc35fe5
Merge branch 'nano-server'
dscho Aug 7, 2023
89cb521
Additional error checks for issuing the windows.appendAtomically warn…
dscho Aug 7, 2023
8d4d51d
win32: use native ANSI sequence processing, if possible (#4700)
dscho Dec 2, 2023
c42cd33
ARM64: Embed manifest properly (#4718)
dscho Dec 7, 2023
51b4916
common-main.c: fflush stdout buffer when exit (#4901)
dscho Apr 12, 2024
ace9859
Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'
dscho Jul 12, 2024
7c0bcfb
Merge branch 'Fix-i686-build-with-GCC-v14'
dscho Jul 12, 2024
cab87f9
Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'
dscho Jul 12, 2024
dbc015a
Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'
dscho Jul 12, 2024
3c3a272
pack-objects: create new name-hash algorithm (#5157)
dscho Sep 24, 2024
4f84feb
Add path walk API and its use in 'git pack-objects' (#5171)
derrickstolee Sep 25, 2024
e9871db
Add experimental 'git survey' builtin (#5174)
dscho Sep 26, 2024
3c3108e
credential-cache: handle ECONNREFUSED gracefully (#5329)
dscho Jan 1, 2025
841bdbd
mingw_open_existing: handle directories better (#5342)
dscho Jan 23, 2025
05c6569
Drop support for `core.restrictInheritedHandles`, as it targeted Wind…
dscho Mar 4, 2025
f0811fb
mingw_rename: support ReFS on Windows 2022 (#5515)
dscho Mar 26, 2025
63c628b
clangarm64: let the tests pass! (#5586)
dscho Apr 21, 2025
db7a130
Merge branch 'reftable-vs-custom-allocators'
dscho Jun 2, 2025
72c5917
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
bbf5752
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
0c3c5d5
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
19709d8
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
8af7d04
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
c8f0f62
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
d83b758
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
115fe4c
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
a116037
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
c524fa9
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
9c9c0c7
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
7b83ca6
mingw: add infrastructure for read-only file system level caches
kblees Sep 8, 2013
72495fd
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
f5d59fe
fscache: load directories only once
kblees Jun 24, 2014
9233a70
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
2ff9082
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
a6edbb4
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
7d31c1f
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
41a3b54
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
f3d0f9f
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
27f6a08
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
8d8c8ca
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
2417b5c
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
f9e3c90
checkout.c: enable fscache for checkout again
Jan 30, 2018
91d4e79
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
754fc1f
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
857203a
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
d36b8e5
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
99be04f
fscache: fscache takes an initial size
benpeart Nov 2, 2018
5ef383f
fscache: add fscache hit statistics
benpeart Sep 25, 2018
dfb094c
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
cca436b
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
4ad8364
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
200fb08
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
7470e7f
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
384eb45
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
21f5445
Merge branch 'fscache'
dscho Nov 15, 2018
a98d9d5
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
c764908
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
efcd09b
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
56bbdda
clean: make use of FSCache
dscho Dec 11, 2018
d878c82
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
a01994f
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
bdc5034
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
82d15f5
mingw: support long paths
kblees Jul 28, 2015
be0e669
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
5b2344d
win32(long path support): leave drive-less absolute paths intact
dscho Sep 6, 2023
b8f77e5
compat/fsmonitor/fsm-*-win32: support long paths
jeffhostetler Mar 25, 2022
7f15c0e
clean: suggest using `core.longPaths` if paths are too long to remove
mathstuf Apr 22, 2022
8239a06
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
c57e4c7
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
c780074
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
f6c159f
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
0afaa59
Win32: implement stat() with symlink support
kblees May 15, 2015
d082966
Win32: remove separate do_lstat() function
kblees May 11, 2015
0910036
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
37236dc
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
867cfb7
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
3db00c3
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
f0a881e
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
f1a468e
Win32: factor out retry logic
kblees May 19, 2015
10c2314
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
36a2928
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
d1d724f
Win32: add symlink-specific error codes
kblees May 15, 2015
d28ef41
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
90897f2
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
4cf3c02
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
095d2a9
Win32: implement readlink()
kblees May 23, 2015
1a46971
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
d0ccbca
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
837bbf9
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
8a28196
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
30d2452
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
67b468d
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
b62c056
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
c90e66e
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
3d00410
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
eac6057
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
18f3eaf
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
d53b40e
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
553ada6
mingw: work around rename() failing on a read-only file
dsl101 Jul 28, 2023
90748ec
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
d343ea0
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
b47b4e5
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
80fa281
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
9ccdf5b
gitattributes: mark .png files as binary
dscho Oct 11, 2018
4cc0414
tests: move test PNGs into t/lib-diff/
dscho Aug 5, 2017
761c830
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
34d9962
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
00aa0ad
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
fa0f66c
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
a1cf023
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
796666f
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
e6ea7e9
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
da895d2
t5003: use binary file from t/lib-diff/
dscho Aug 5, 2017
613a9c8
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
0d9278d
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
6e20848
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
53740fd
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
d046fea
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
a2bd79a
mingw: optionally enable wsl compability file mode bits
swigger Jun 7, 2023
85717b9
mingw: kill child processes in a gentler way
dscho May 17, 2017
6807980
mingw: really handle SIGINT
dscho Apr 22, 2018
f5de583
mingw: do not call xutftowcs_path in mingw_mktemp
neerajsi-msft Oct 27, 2021
aa991fb
Partially un-revert "editor: save and reset terminal after calling ED…
dscho Nov 25, 2021
b2ccaf7
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
1a6e6ac
Describe Git for Windows' architecture [no ci]
dscho Feb 13, 2023
fd9be8c
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
84d959b
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
325ed2a
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
5f676a8
Add an issue template
shiftkey Feb 18, 2016
673c3c6
Add a GitHub workflow to monitor component updates
dscho Sep 29, 2020
6fb5f13
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
66761fd
fsmonitor: reintroduce core.useBuiltinFSMonitor
vdye Apr 4, 2022
c77cff5
dependabot: help keeping GitHub Actions versions up to date
dscho Feb 6, 2024
ca7fd2d
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
3403964
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
2259129
Merge branch 'long-paths'
dscho Nov 15, 2018
9035b2c
Merge branch 'msys2'
dscho Nov 15, 2018
1de1932
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
7f31159
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
7c75c25
mingw: try resetting the read-only bit if rename fails (#4527)
dscho Aug 7, 2023
be4675e
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
c95a6e6
Merge branch 'busybox-w32'
dscho Feb 7, 2019
2fc14ae
Merge branch 'wsl-file-mode-bits'
dscho Aug 7, 2023
caeeb8d
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
75bf428
Merge pull request #3492 from dscho/ns/batched-fsync
vdye Oct 28, 2021
95549de
Merge branch 'un-revert-editor-save-and-reset'
dscho Jan 15, 2022
62e1cb1
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
b4ca60e
Merge branch 'deprecate-core.useBuiltinFSMonitor'
dscho Jan 24, 2023
a610174
Merge pull request #2837 from dscho/monitor-component-updates
dscho Oct 7, 2020
4adb461
Merge 'readme' into HEAD
dscho Jun 7, 2018
5a96bd1
fixup! Add a GitHub workflow to monitor component updates
dscho Jun 3, 2025
bb56068
check-whitespace: avoid alerts about upstream commits
dscho Jun 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ CODE_OF_CONDUCT.md -whitespace
/mergetools/* text eol=lf
/t/oid-info/* text eol=lf
/Documentation/git-merge.adoc conflict-marker-size=32
/Documentation/git-merge-file.adoc conflict-marker-size=32
/Documentation/gitk.adoc conflict-marker-size=32
/Documentation/user-manual.adoc conflict-marker-size=32
/t/t????-*.sh conflict-marker-size=32
21 changes: 20 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ jobs:
run: pip install meson ninja
- name: Setup
shell: pwsh
run: meson setup build -Dperl=disabled -Dcredential_helpers=wincred
run: meson setup build --vsenv -Dbuildtype=release -Dperl=disabled -Dcredential_helpers=wincred
- name: Compile
shell: pwsh
run: meson compile -C build
Expand Down Expand Up @@ -352,6 +352,7 @@ jobs:
if: needs.ci-config.outputs.enabled == 'yes'
env:
CC: clang
CI_JOB_IMAGE: ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -410,12 +411,27 @@ jobs:
jobname: ${{matrix.vector.jobname}}
CC: ${{matrix.vector.cc}}
CI_JOB_IMAGE: ${{matrix.vector.image}}
CUSTOM_PATH: /custom
runs-on: ubuntu-latest
container: ${{matrix.vector.image}}
steps:
- name: prepare libc6 for actions
if: matrix.vector.jobname == 'linux32'
run: apt -q update && apt -q -y install libc6-amd64 lib64stdc++6
- name: install git in container
run: |
if command -v git
then
: # nothing to do
elif command -v apk
then
apk add --update git
elif command -v dnf
then
dnf -yq update && dnf -yq install git
else
apt-get -q update && apt-get -q -y install git
fi
- uses: actions/checkout@v4
- run: ci/install-dependencies.sh
- run: useradd builder --create-home
Expand All @@ -435,6 +451,7 @@ jobs:
if: needs.ci-config.outputs.enabled == 'yes'
env:
jobname: StaticAnalysis
CI_JOB_IMAGE: ubuntu-22.04
runs-on: ubuntu-22.04
concurrency:
group: static-analysis-${{ github.ref }}
Expand All @@ -449,6 +466,7 @@ jobs:
if: needs.ci-config.outputs.enabled == 'yes'
env:
jobname: sparse
CI_JOB_IMAGE: ubuntu-22.04
runs-on: ubuntu-22.04
concurrency:
group: sparse-${{ github.ref }}
Expand All @@ -467,6 +485,7 @@ jobs:
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
env:
jobname: Documentation
CI_JOB_IMAGE: ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/monitor-components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ jobs:
title-pattern: ^libgcrypt-[0-9\.]*$
- label: gpg
feed: https://github.com/gpg/gnupg/releases.atom
# As per https://gnupg.org/download/index.html#sec-1-1, the stable
# versions are the one with an even minor version number.
title-pattern: ^gnupg-\d+\.\d*[02468]\.
- label: mintty
feed: https://github.com/mintty/mintty/releases.atom
- label: 7-zip
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
/git-diff
/git-diff-files
/git-diff-index
/git-diff-pairs
/git-diff-tree
/git-difftool
/git-difftool--helper
Expand Down
3 changes: 1 addition & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ build:msvc-meson:
extends: .msvc-meson
stage: build
script:
- meson setup build -Dperl=disabled -Dbackend_max_links=1 -Dcredential_helpers=wincred
- meson setup build --vsenv -Dperl=disabled -Dbackend_max_links=1 -Dcredential_helpers=wincred
- meson compile -C build
artifacts:
paths:
Expand All @@ -173,7 +173,6 @@ build:msvc-meson:
test:msvc-meson:
extends: .msvc-meson
stage: test
when: manual
timeout: 6h
needs:
- job: "build:msvc-meson"
Expand Down
6 changes: 6 additions & 0 deletions Documentation/BreakingChanges.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,12 @@ references.
+
These features will be removed.

* Support for "--stdin" option in the "name-rev" command was
deprecated (and hidden from the documentation) in the Git 2.40
timeframe, in preference to its synonym "--annotate-stdin". Git 3.0
removes the support for "--stdin" altogether.


== Superseded features that will not be deprecated

Some features have gained newer replacements that aim to improve the design in
Expand Down
3 changes: 3 additions & 0 deletions Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,9 @@ Markup:
_<git-dir>_
_<key-id>_

Characters are also surrounded by underscores:
_LF_, _CR_, _CR_/_LF_, _NUL_, _EOF_

Git's Asciidoc processor has been tailored to treat backticked text
as complex synopsis. When literal and placeholders are mixed, you can
use the backtick notation which will take care of correctly typesetting
Expand Down
11 changes: 6 additions & 5 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ SP_ARTICLES += howto/coordinate-embargoed-releases
API_DOCS = $(patsubst %.adoc,%,$(filter-out technical/api-index-skel.adoc technical/api-index.adoc, $(wildcard technical/api-*.adoc)))
SP_ARTICLES += $(API_DOCS)

TECH_DOCS += BreakingChanges
TECH_DOCS += DecisionMaking
TECH_DOCS += ReviewingGuidelines
TECH_DOCS += MyFirstContribution
Expand Down Expand Up @@ -316,8 +317,8 @@ cmds_txt = cmds-ancillaryinterrogators.adoc \

$(cmds_txt): cmd-list.made

cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl .. . $(cmds_txt) && \
cmd-list.made: cmd-list.sh ../command-list.txt $(MAN1_TXT)
$(QUIET_GEN)$(SHELL_PATH) ./cmd-list.sh .. . $(cmds_txt) && \
date >$@

mergetools-%.adoc: generate-mergetool-list.sh ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
Expand Down Expand Up @@ -397,9 +398,9 @@ user-manual.html: user-manual.xml $(XSLT)
git.info: user-manual.texi
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi

user-manual.texi: user-manual.xml
user-manual.texi: user-manual.xml fix-texi.sh
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
$(PERL_PATH) fix-texi.perl <$@+ >$@ && \
$(SHELL_PATH) fix-texi.sh <$@+ >$@ && \
$(RM) $@+

user-manual.pdf: user-manual.xml
Expand Down Expand Up @@ -509,7 +510,7 @@ lint-docs-meson:
awk "/^manpages = {$$/ {flag=1 ; next } /^}$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047 : [157],\$$/, \"\"); print }" meson.build | \
grep -v -e '#' -e '^$$' | \
sort >tmp-meson-diff/meson.adoc && \
ls git*.adoc scalar.adoc | grep -v -e git-bisect-lk2009.adoc -e git-tools.adoc >tmp-meson-diff/actual.adoc && \
ls git*.adoc scalar.adoc | grep -v -e git-bisect-lk2009.adoc -e git-pack-redundant.adoc -e git-tools.adoc >tmp-meson-diff/actual.adoc && \
if ! cmp tmp-meson-diff/meson.adoc tmp-meson-diff/actual.adoc; then \
echo "Meson man pages differ from actual man pages:"; \
diff -u tmp-meson-diff/meson.adoc tmp-meson-diff/actual.adoc; \
Expand Down
56 changes: 34 additions & 22 deletions Documentation/MyFirstContribution.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,6 @@ the list by sending an email to <git+subscribe@vger.kernel.org>
The https://lore.kernel.org/git[archive] of this mailing list is
available to view in a browser.

==== https://groups.google.com/forum/#!forum/git-mentoring[git-mentoring@googlegroups.com]

This mailing list is targeted to new contributors and was created as a place to
post questions and receive answers outside of the public eye of the main list.
Veteran contributors who are especially interested in helping mentor newcomers
are present on the list. In order to avoid search indexers, group membership is
required to view messages; anyone can join and no approval is required.

==== https://web.libera.chat/#git-devel[#git-devel] on Libera Chat

This IRC channel is for conversations between Git contributors. If someone is
Expand Down Expand Up @@ -150,15 +142,31 @@ command in `builtin/psuh.c`. Create that file, and within it, write the entry
point for your command in a function matching the style and signature:

----
int cmd_psuh(int argc, const char **argv, const char *prefix)
int cmd_psuh(int argc UNUSED, const char **argv UNUSED,
const char *prefix UNUSED, struct repository *repo UNUSED)
----

A few things to note:

* A subcommand implementation takes its command line arguments
in `int argc` + `const char **argv`, like `main()` would.

* It also takes two extra parameters, `prefix` and `repo`. What
they mean will not be discussed until much later.

* Because this first example will not use any of the parameters,
your compiler will give warnings on unused parameters. As the
list of these four parameters is mandated by the API to add
new built-in commands, you cannot omit them. Instead, you add
`UNUSED` to each of them to tell the compiler that you *know*
you are not (yet) using it.

We'll also need to add the declaration of psuh; open up `builtin.h`, find the
declaration for `cmd_pull`, and add a new line for `psuh` immediately before it,
in order to keep the declarations alphabetically sorted:

----
int cmd_psuh(int argc, const char **argv, const char *prefix);
int cmd_psuh(int argc, const char **argv, const char *prefix, struct repository *repo);
----

Be sure to `#include "builtin.h"` in your `psuh.c`. You'll also need to
Expand All @@ -174,7 +182,8 @@ Throughout the tutorial, we will mark strings for translation as necessary; you
should also do so when writing your user-facing commands in the future.

----
int cmd_psuh(int argc, const char **argv, const char *prefix)
int cmd_psuh(int argc UNUSED, const char **argv UNUSED,
const char *prefix UNUSED, struct repository *repo UNUSED)
{
printf(_("Pony saying hello goes here.\n"));
return 0;
Expand Down Expand Up @@ -287,8 +296,9 @@ on the reference implementation linked at the top of this document.
It's probably useful to do at least something besides printing out a string.
Let's start by having a look at everything we get.

Modify your `cmd_psuh` implementation to dump the args you're passed, keeping
existing `printf()` calls in place:
Modify your `cmd_psuh` implementation to dump the args you're passed,
keeping existing `printf()` calls in place; because the args are now
used, remove the `UNUSED` macro from them:

----
int i;
Expand All @@ -312,26 +322,27 @@ on the command line, including the name of our command. (If `prefix` is empty
for you, try `cd Documentation/ && ../bin-wrappers/git psuh`). That's not so
helpful. So what other context can we get?

Add a line to `#include "config.h"`. Then, add the following bits to the
Add a line to `#include "config.h"` and `#include "repository.h"`.
Then, add the following bits to the function body:
function body:

----
const char *cfg_name;

...

git_config(git_default_config, NULL);
if (git_config_get_string_tmp("user.name", &cfg_name) > 0)
repo_config(repo, git_default_config, NULL);
if (repo_config_get_string_tmp(repo, "user.name", &cfg_name))
printf(_("No name is found in config\n"));
else
printf(_("Your name: %s\n"), cfg_name);
----

`git_config()` will grab the configuration from config files known to Git and
apply standard precedence rules. `git_config_get_string_tmp()` will look up
`repo_config()` will grab the configuration from config files known to Git and
apply standard precedence rules. `repo_config_get_string_tmp()` will look up
a specific key ("user.name") and give you the value. There are a number of
single-key lookup functions like this one; you can see them all (and more info
about how to use `git_config()`) in `Documentation/technical/api-config.adoc`.
about how to use `repo_config()`) in `Documentation/technical/api-config.adoc`.

You should see that the name printed matches the one you see when you run:

Expand Down Expand Up @@ -364,9 +375,10 @@ status_init_config(&s, git_status_config);
----

But as we drill down, we can find that `status_init_config()` wraps a call
to `git_config()`. Let's modify the code we wrote in the previous commit.
to `repo_config()`. Let's modify the code we wrote in the previous commit.

Be sure to include the header to allow you to use `struct wt_status`:

----
#include "wt-status.h"
----
Expand All @@ -379,8 +391,8 @@ prepare it, and print its contents:

...

wt_status_prepare(the_repository, &status);
git_config(git_default_config, &status);
wt_status_prepare(repo, &status);
repo_config(repo, git_default_config, &status);

...

Expand Down
2 changes: 2 additions & 0 deletions Documentation/MyFirstObjectWalk.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ static void final_rev_info_setup(struct rev_info *rev)
====
Instead of using the shorthand `add_head_to_pending()`, you could do
something like this:

----
struct setup_revision_opt opt;

Expand All @@ -295,6 +296,7 @@ something like this:
opt.revarg_opt = REVARG_COMMITTISH;
setup_revisions(argc, argv, rev, &opt);
----

Using a `setup_revision_opt` gives you finer control over your walk's starting
point.
====
Expand Down
Loading
Loading