Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
592 commits
Select commit Hold shift + click to select a range
0ac0947
Merge branch 'js/diff-files-i-t-a-fix-for-difftool'
gitster Jul 7, 2020
0a23331
Merge branch 'jk/fast-export-anonym-alt'
gitster Jul 7, 2020
efafdca
Merge branch 'dl/test-must-fail-fixes-5'
gitster Jul 7, 2020
43f46d6
Merge branch 'es/worktree-code-cleanup'
gitster Jul 7, 2020
4a0fcf9
The seventh batch
gitster Jul 7, 2020
5f46e61
diff: check for merge bases before assigning sym->base
peff Jul 8, 2020
ce16364
commit.c: don't persist substituted parents when unshallowing
ttaylorr Jul 8, 2020
b5651a2
experimental: default to fetch.writeCommitGraph=false
jrn Jul 7, 2020
35e6e21
entry: check for fstat() errors after checkout
matheustavares Jul 9, 2020
81de0c0
git-rebase.txt: fix description list separator
Jul 9, 2020
8251695
Merge branch 'cc/cat-file-usage-update' into master
gitster Jul 9, 2020
b2b7a54
Merge branch 'vs/completion-with-set-u' into master
gitster Jul 9, 2020
b7ebe8f
Merge branch 'ra/send-email-in-reply-to-from-command-line-wins' into …
gitster Jul 9, 2020
20d451c
Merge branch 'rs/line-log-until' into master
gitster Jul 9, 2020
46be023
Merge branch 'ct/diff-with-merge-base-clarification' into master
gitster Jul 9, 2020
24ecfdf
Merge branch 'tb/fix-persistent-shallow' into master
gitster Jul 9, 2020
9850823
Merge branch 'jn/eject-fetch-write-commit-graph-out-of-experimental' …
gitster Jul 9, 2020
3ed0f1e
Merge branch 'ma/rebase-doc-typofix' into master
gitster Jul 9, 2020
d341042
Merge branch 'mt/entry-fstat-fallback-fix' into master
gitster Jul 9, 2020
bd42bbe
Git 2.28-rc0
gitster Jul 9, 2020
794dd02
Start the merging-rebase to v2.28.0-rc0
dscho Jul 10, 2020
1e7353e
t9350: point out that refs are not updated correctly
SRabbelier Jul 24, 2011
a419411
transport-helper: add trailing --
SRabbelier Aug 29, 2010
545fd88
remote-helper: check helper status after import/export
SRabbelier Jul 23, 2011
16754ca
Always auto-gc after calling a fast-import transport
dscho Apr 9, 2012
acd556c
mingw: demonstrate a problem with certain absolute paths
dscho Apr 18, 2017
30aa070
archive: replace write_or_die() calls with write_block_or_die()
r1walz Feb 15, 2019
e457512
diffcore-rename: speed up register_rename_src
jeffhostetler Dec 15, 2016
f57a021
mingw: allow absolute paths without drive prefix
dscho Apr 18, 2017
c30d697
mingw: handle absolute paths in expand_user_path()
dscho Dec 11, 2015
564c95c
archive: avoid spawning `gzip`
r1walz Feb 19, 2019
63d0657
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
6240e70
gitk: prevent overly long command lines
dscho Apr 25, 2019
1eb1687
clean: do not traverse mount points
dscho Dec 7, 2018
b0d3869
gitk: Escape file paths before piping to git log
gix Aug 19, 2019
5532a9b
clean: remove mount points when possible
dscho Dec 11, 2018
57f43a5
config.mak.uname: PCRE1 cleanup
carenas Aug 31, 2019
ffc1722
vcpkg_install: detect lack of Git
PhilipOakley Oct 6, 2019
6033e51
mingw: move Git for Windows' system config where users expect it
dscho Oct 6, 2019
aadf81b
vcpkg_install: add comment regarding slow network connections
PhilipOakley Oct 6, 2019
ed8268d
config: normalize the path of the system gitconfig
dscho Oct 24, 2019
05cacba
mingw: include the Python parts in the build
dscho Feb 16, 2015
00ad703
Config option to disable side-band-64k for transport
t-b May 8, 2014
237c01d
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
de99081
mingw: demonstrate a `git add` issue with NTFS junctions
dscho Jan 31, 2020
ee8274f
mingw: ensure valid CTYPE
dscho Feb 21, 2017
66be584
strbuf_realpath(): use platform-dependent API if available
dscho Jan 31, 2020
8f1d8a3
mingw: allow `git.exe` to be used instead of the "Git wrapper"
dscho Jan 31, 2020
6d35088
mingw: do resolve symlinks in `getcwd()`
dscho Jan 1, 2020
a50d8fc
mingw: fix fatal error working on mapped network drives on Windows
bmueller84 Jan 22, 2020
c5b0e45
clink.pl: fix MSVC compile script to handle libcurl-d.lib
jeffhostetler Jan 30, 2020
f6cb845
mingw: implement a platform-specific `strbuf_realpath()`
dscho Jan 31, 2020
90c9072
vcxproj: unclash project directories with build outputs
dscho May 9, 2020
307d642
t5505/t5516: allow running without `.git/branches/` in the templates
dscho May 9, 2020
2a750d7
tests: exercise the RUNTIME_PREFIX feature
dscho Feb 5, 2020
853878b
credential.c: fix credential reading with regards to CR/LF
nyckyta Feb 8, 2020
800f281
http: use new "best effort" strategy for Secure Channel revoke checking
dscho Mar 4, 2020
4e365f7
[fix] Gitk fails to open on a bare Git repository on Windows
remybohmer Mar 20, 2020
37827d3
mingw: improve performance of mingw_unlink()
jeffhostetler Apr 17, 2020
188f224
t5505/t5516: fix white-space around redirectors
dscho May 9, 2020
5cc6305
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
010116e
Merge pull request #996 from jeffhostetler/jeffhostetler/register_ren…
dscho Jun 8, 2018
494a621
Merge branch 'drive-prefix'
dscho Jun 8, 2018
2c0f53c
Merge branch 'mingw-expand-absolute-user-path'
dscho Oct 12, 2018
d88df9d
Merge branch 'dont-spawn-gzip-in-archive'
dscho Feb 21, 2019
716404a
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
888deab
Merge pull request #2170 from dscho/gitk-long-cmdline
dscho Apr 26, 2019
8663d8b
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
2411eb6
Merge pull request #2316 from carenas/win-pcre1-cleanup
dscho Sep 2, 2019
af4aad0
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
d1669f0
Merge branch 'move-gfw-system-config-to-top-level'
dscho Oct 18, 2019
7eff975
Merge branch 'msys2-python'
dscho May 31, 2019
8e0c19f
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
81b03da
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
2a13d40
Merge pull request #2449 from dscho/mingw-getcwd-and-symlinks
dscho Jan 3, 2020
a14864c
Merge pull request #2488 from bmueller84/master
dscho Jan 22, 2020
2bb6cd7
Merge pull request #2501 from jeffhostetler/clink-debug-curl
dscho Jan 30, 2020
2facb08
Merge pull request #2504 from dscho/access-repo-via-junction
dscho Feb 1, 2020
46132bf
Merge pull request #2506 from dscho/issue-2283
dscho Feb 11, 2020
4f0acb3
Merge pull request #2516 from nyckyta/crlf-aware-git-credential
dscho Feb 13, 2020
0676888
Merge pull request #2535 from dscho/schannel-revoke-best-effort
dscho Mar 4, 2020
2a48df2
Merge pull request #2549 from remybohmer/master
dscho Apr 17, 2020
39599a8
Merge pull request #2589 from jeffhostetler/unlink-perf-gfw
jeffhostetler Apr 20, 2020
b65aede
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
6ecf4d0
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
f58fd40
respect core.hooksPath, falling back to .git/hooks
dscho Oct 4, 2018
f0ef589
Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master
dscho May 9, 2020
fcb4487
gitk: Unicode file name support
kblees Feb 4, 2012
28b4b70
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
68c9c05
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
0945c77
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
3dd1c7c
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
a2c16f0
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
e5b9e0d
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
ac7b0d1
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
dcd3857
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
ab1cdfc
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
f758db7
Allow `add -p` and `add -i` with a large number of files
kkheller May 27, 2015
3de0da0
Merge 'gitk' into HEAD
dscho Jun 7, 2018
1e91fc4
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
42f2c23
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
34e5a8c
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
5ac6390
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
9c5f3fe
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
e2c9916
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
cb8185c
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
1f19fe1
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
7e56403
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
20da315
fscache: load directories only once
kblees Jun 24, 2014
6ec8028
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
cda9e9d
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
bd1ded0
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
d6c5b0d
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
a5591cd
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
6fdc593
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
4630b80
checkout.c: enable fscache for checkout again
Jan 30, 2018
edb4041
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
7ebc7bb
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
9e4736e
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
e57c680
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
616c41a
fscache: fscache takes an initial size
benpeart Nov 2, 2018
0788ce0
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
2bc4ac0
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
952973e
At the end of the add command, disable and free the fscache so that w…
benpeart Nov 5, 2018
241ffbb
fscache: add fscache hit statistics
benpeart Sep 25, 2018
c028f01
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
4cc18cd
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
e129a29
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
d96b964
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
4407376
mingw: support long paths
kblees Jul 28, 2015
d27fce1
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
0def528
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
4d2da90
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
3252f22
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
b902048
clean: make use of FSCache
dscho Dec 11, 2018
ecf3a34
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
cdebb76
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
72d5d3d
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
611ebc7
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
c3a4f79
mingw: disable t9020
dscho Feb 23, 2015
98930a8
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
25facfb
Merge branch 'maybe-drop'
dscho Oct 12, 2018
68f62ec
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
4bfb89c
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
cf71816
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
d4dd9cc
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
e172751
Win32: implement stat() with symlink support
kblees May 15, 2015
9f54150
Win32: remove separate do_lstat() function
kblees May 11, 2015
1dbcc91
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
11841cb
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
64124e1
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
2983f39
Win32: factor out retry logic
kblees May 19, 2015
054bbb6
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
073cb99
Win32: add symlink-specific error codes
kblees May 15, 2015
010f7af
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
cf5d422
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
cbd792d
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
5b75583
Win32: implement readlink()
kblees May 23, 2015
1cc9953
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
eec5a2e
mingw: introduce code to detect whether we're inside a Windows container
zcube Apr 23, 2018
005176f
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
b6e8f6b
mingw: when running in a Windows container, try to rename() harder
zcube Apr 23, 2018
d52c7c0
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
42940e4
mingw: move the file_attr_to_st_mode() function definition
zcube Apr 23, 2018
5d2654b
mingw: emulate stat() a little more faithfully
dscho Mar 2, 2020
65018e3
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
9210a4e
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
863a7d8
transport-helper: prefer Git's builtins over dashed form
dscho Jul 19, 2017
6c66065
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
66b1422
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
90a669f
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
e1250d6
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
5e78e92
mingw: lstat: compute correct size for symlinks
billziss-gh May 28, 2020
b2e2db2
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
c2a7c0f
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
16b5713
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
1cf7265
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
bd47a32
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
0c255e6
tests: use t/diff-lib/* consistently
dscho Aug 5, 2017
91b22f7
gitattributes: mark .png files as binary
dscho Oct 11, 2018
044b867
tests: move test PNGs into t/diff-lib/
dscho Aug 5, 2017
a04663f
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
1d3a3be
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
1dd4aaa
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
c28386a
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
6b8baa9
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
9bffc03
t0021: use Windows path when appropriate
dscho Aug 4, 2017
809072a
t5003: use binary file from t/diff-lib/
dscho Aug 5, 2017
6744477
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
c8728e1
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
aa5f27b
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
cc8160c
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
c05eec6
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
d58fe85
mingw: kill child processes in a gentler way
dscho May 17, 2017
95d4082
status: reinstate --show-ignored-directory as a deprecated option
dscho Nov 9, 2017
cb26c89
mingw: really handle SIGINT
dscho Apr 22, 2018
485dfcc
status: carry the --no-lock-index option for backwards-compatibility
dscho Aug 12, 2016
44f29e4
status: verify that --show-ignored-directory prints a warning
dscho Nov 9, 2017
5438f8d
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
c92a716
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
adfdb7b
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
981b9c0
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
299b997
Add an issue template
shiftkey Feb 18, 2016
6facc85
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
6375bb6
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
5d08827
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
70e3390
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
11a4795
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
e94166e
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
37f1ce5
Merge 'add-p-many-files'
dscho Jun 8, 2018
d88446e
Merge branch 'fscache'
dscho Nov 15, 2018
facdc88
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
9dcc88c
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
83a8ef2
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
b8e3163
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
15e05cb
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
62c6e56
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
a25cba4
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
6929d7d
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
88d0a2f
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
d683f42
Merge pull request #1914 from benpeart/free-fscache-after-add-gfw
dscho Nov 16, 2018
61752ea
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
1816ef7
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
a49ab65
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
6e1dcf2
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
adc9295
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
d50ed46
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
0b9c085
Merge branch 'long-paths'
dscho Nov 15, 2018
69919f0
Merge branch 'msys2'
dscho Nov 15, 2018
885954a
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
edb08d8
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
e3601ca
Merge pull request #2637 from billziss-gh/master
dscho May 29, 2020
ebdecc1
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
c89fc81
Merge branch 'busybox-w32'
dscho Feb 7, 2019
9c477ac
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
69bca4a
Merge branch 'status-no-lock-index'
dscho Jun 8, 2018
ac79848
Merge pull request #1354 from dscho/phase-out-show-ignored-directory-…
dscho Jun 8, 2018
ea44c52
Merge branch 'phase-out-reset-stdin'
dscho Jun 8, 2018
39aeb99
Merge 'readme' into HEAD
dscho Jun 7, 2018
d393fec
mingw: special-case index entries for symlinks with buggy size
dscho Jun 4, 2020
11b58b7
fscache: compute correct symlink size in `lstat()`
dscho Jun 7, 2020
14680d8
Merge pull request #2666 from dscho/nicer-upgrade-path-for-#2637
dscho Jun 6, 2020
25e2775
Merge pull request #2673 from dscho/also-handle-fscache-addon-for-#2637
dscho Jun 8, 2020
0b2682c
git add -i: handle CR/LF line endings in the interactive input
dscho Jul 2, 2020
9c87b90
Mirror master and main
dscho Jun 16, 2020
c1021da
commit: accept "scissors" with CR/LF line endings
lbonanomi Jun 24, 2020
37f9146
mingw_strbuf_realpath(): handle case of non existent last path component
SyntevoAlex Jul 2, 2020
7f86861
Merge pull request #2730 from dscho/crlf-aware-git-add-i
dscho Jul 2, 2020
d8257be
Merge pull request #2714 from lbonanomi/main
dscho Jul 3, 2020
3d77973
Merge pull request #2731 from SyntevoAlex/#0312(win)_clone_adds_worktree
dscho Jul 3, 2020
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
3 changes: 3 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,7 @@ If you prefer video, then [this talk](https://www.youtube.com/watch?v=Q7i_qQW__q
might be useful to you as the presenter walks you through the contribution
process by example.

Or, you can follow the ["My First Contribution"](https://git-scm.com/docs/MyFirstContribution)
tutorial for another example of the contribution process.

Your friendly Git community!
7 changes: 1 addition & 6 deletions Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
Expand Up @@ -489,16 +489,11 @@ For Python scripts:

- We follow PEP-8 (http://www.python.org/dev/peps/pep-0008/).

- As a minimum, we aim to be compatible with Python 2.6 and 2.7.
- As a minimum, we aim to be compatible with Python 2.7.

- Where required libraries do not restrict us to Python 2, we try to
also be compatible with Python 3.1 and later.

- When you must differentiate between Unicode literals and byte string
literals, it is OK to use the 'b' prefix. Even though the Python
documentation for version 2.6 does not mention this prefix, it has
been supported since version 2.6.0.

Error Messages

- Do not end error messages with a full stop.
Expand Down
1 change: 1 addition & 0 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ TECH_DOCS += technical/protocol-capabilities
TECH_DOCS += technical/protocol-common
TECH_DOCS += technical/protocol-v2
TECH_DOCS += technical/racy-git
TECH_DOCS += technical/reftable
TECH_DOCS += technical/send-pack-pipeline
TECH_DOCS += technical/shallow
TECH_DOCS += technical/signature-format
Expand Down
4 changes: 2 additions & 2 deletions Documentation/MyFirstContribution.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1179,8 +1179,8 @@ look at the section below this one for some context.)
[[after-approval]]
=== After Review Approval

The Git project has four integration branches: `pu`, `next`, `master`, and
`maint`. Your change will be placed into `pu` fairly early on by the maintainer
The Git project has four integration branches: `seen`, `next`, `master`, and
`maint`. Your change will be placed into `seen` fairly early on by the maintainer
while it is still in the review process; from there, when it is ready for wider
testing, it will be merged into `next`. Plenty of early testers use `next` and
may report issues. Eventually, changes in `next` will make it to `master`,
Expand Down
227 changes: 227 additions & 0 deletions Documentation/RelNotes/2.28.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
Git 2.28 Release Notes
======================

Updates since v2.27
-------------------

Backward compatibility notes

* "fetch.writeCommitGraph" is deemed to be still a bit too risky and
is no longer part of the "feature.experimental" set.

* It used to be that setting extensions.* configuration variables
alone, while leaving core.repositoryFormatVersion=0, made these
settings effective, which was a wrong thing to do. In version 0,
there was no special meaning in extensions.* configuration
variables. This has been corrected. If you need these repository
extensions to be effective, the core.repositoryFormatVersion
variable needs to be updated to 1 after vetting these extensions.*
variables are set correctly.


UI, Workflows & Features

* The commands in the "diff" family learned to honor "diff.relative"
configuration variable.

* The check in "git fsck" to ensure that the tree objects are sorted
still had corner cases it missed unsorted entries.

* The interface to redact sensitive information in the trace output
has been simplified.

* The command line completion (in contrib/) learned to complete
options that the "git switch" command takes.

* "git diff" used to take arguments in random and nonsense range
notation, e.g. "git diff A..B C", "git diff A..B C...D", etc.,
which has been cleaned up.

* "git diff-files" has been taught to say paths that are marked as
intent-to-add are new files, not modified from an empty blob.

* "git status" learned to report the status of sparse checkout.

* "git difftool" has trouble dealing with paths added to the index
with the intent-to-add bit.

* "git fast-export --anonymize" learned to take customized mapping to
allow its users to tweak its output more usable for debugging.

* The command line completion support (in contrib/) used to be
prepared to work with "set -u" but recent changes got a bit more
sloppy. This has been corrected.


Performance, Internal Implementation, Development Support etc.

* Code optimization for a common case.
(merge 8777616e4d an/merge-single-strategy-optim later to maint).

* We've adopted a convention that any on-stack structure can be
initialized to have zero values in all fields with "= { 0 }",
even when the first field happens to be a pointer, but sparse
complained that a null pointer should be spelled NULL for a long
time. Start using -Wno-universal-initializer option to squelch
it (the latest sparse has it on by default).

* "git log -L..." now takes advantage of the "which paths are touched
by this commit?" info stored in the commit-graph system.

* As FreeBSD is not the only platform whose regexp library reports
a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that
automatically and skip the affected tests.

* "git bugreport" learns to report what shell is in use.

* Support for GIT_CURL_VERBOSE has been rewritten in terms of
GIT_TRACE_CURL.

* Preliminary clean-ups around refs API, plus file format
specification documentation for the reftable backend.

* Workaround breakage in MSVC build, where "curl-config --cflags"
gives settings appropriate for GCC build.

* Code clean-up of "git clean" resulted in a fix of recent
performance regression.

* Code clean-up in the codepath that serves "git fetch" continues.

* "git merge-base --is-ancestor" is taught to take advantage of the
commit graph.

* Rewrite of parts of the scripted "git submodule" Porcelain command
continues; this time it is "git submodule set-branch" subcommand's
turn.

* The "fetch/clone" protocol has been updated to allow the server to
instruct the clients to grab pre-packaged packfile(s) in addition
to the packed object data coming over the wire.

* A misdesigned strbuf_write_fd() function has been retired.

* SHA-256 migration work continues, including CVS/SVN interface.

* A few fields in "struct commit" that do not have to always be
present have been moved to commit slabs.

* API cleanup for get_worktrees()

* By renumbering object flag bits, "struct object" managed to lose
bloated inter-field padding.

* The name of the primary branch in existing repositories, and the
default name used for the first branch in newly created
repositories, is made configurable, so that we can eventually wean
ourselves off of the hardcoded 'master'.

* The effort to avoid using test_must_fail on non-git command continues.


Fixes since v2.27
-----------------

* The "--prepare-p4-only" option of "git p4" is supposed to stop
after replaying one changeset, but kept going (by mistake?)

* The error message from "git checkout -b foo -t bar baz" was
confusing.

* Some repositories in the wild have commits that record nonsense
committer timezone (e.g. rails.git); "git fast-import" learned an
option to pass these nonsense timestamps intact to allow recreating
existing repositories as-is.
(merge d42a2fb72f en/fast-import-looser-date later to maint).

* The command line completion script (in contrib/) tried to complete
"git stash -p" as if it were "git stash push -p", but it was too
aggressive and also affected "git stash show -p", which has been
corrected.
(merge fffd0cf520 vs/complete-stash-show-p-fix later to maint).

* On-the-wire protocol v2 easily falls into a deadlock between the
remote-curl helper and the fetch-pack process when the server side
prematurely throws an error and disconnects. The communication has
been updated to make it more robust.

* "git checkout -p" did not handle a newly added path at all.
(merge 2c8bd8471a js/checkout-p-new-file later to maint).

* The code to parse "git bisect start" command line was lax in
validating the arguments.
(merge 4d9005ff5d cb/bisect-helper-parser-fix later to maint).

* Reduce memory usage during "diff --quiet" in a worktree with too
many stat-unmatched paths.
(merge d2d7fbe129 jk/diff-memuse-optim-with-stat-unmatch later to maint).

* The reflog entries for "git clone" and "git fetch" did not
anonymize the URL they operated on.
(merge 46da295a77 js/reflog-anonymize-for-clone-and-fetch later to maint).

* The behaviour of "sparse-checkout" in the state "git clone
--no-checkout" left was changed accidentally in 2.27, which has
been corrected.

* Use of negative pathspec, while collecting paths including
untracked ones in the working tree, was broken.

* The same worktree directory must be registered only once, but
"git worktree move" allowed this invariant to be violated, which
has been corrected.
(merge 810382ed37 es/worktree-duplicate-paths later to maint).

* The effect of sparse checkout settings on submodules is documented.
(merge e7d7c73249 en/sparse-with-submodule-doc later to maint).

* Code clean-up around "git branch" with a minor bugfix.
(merge dc44639904 dl/branch-cleanup later to maint).

* A branch name used in a test has been clarified to match what is
going on.
(merge 08dc26061f pb/t4014-unslave later to maint).

* An in-code comment in "git diff" has been updated.
(merge c592fd4c83 dl/diff-usage-comment-update later to maint).

* The documentation and some tests have been adjusted for the recent
renaming of "pu" branch to "seen".
(merge 6dca5dbf93 js/pu-to-seen later to maint).

* The code to push changes over "dumb" HTTP had a bad interaction
with the commit reachability code due to incorrect allocation of
object flag bits, which has been corrected.
(merge 64472d15e9 bc/http-push-flagsfix later to maint).

* "git send-email --in-reply-to=<msg>" did not use the In-Reply-To:
header with the value given from the command line, and let it be
overridden by the value on In-Reply-To: header in the messages
being sent out (if exists).
(merge f9f60d7066 ra/send-email-in-reply-to-from-command-line-wins later to maint).

* "git log -Lx,y:path --before=date" lost track of where the range
should be because it didn't take the changes made by the youngest
commits that are omitted from the output into account.

* When "fetch.writeCommitGraph" configuration is set in a shallow
repository and a fetch moves the shallow boundary, we wrote out
broken commit-graph files that do not match the reality, which has
been corrected.

* "git checkout" failed to catch an error from fstat() after updating
a path in the working tree.
(merge 35e6e212fd mt/entry-fstat-fallback-fix later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 2c31a7aa44 jx/pkt-line-doc-count-fix later to maint).
(merge d63ae31962 cb/t5608-cleanup later to maint).
(merge 788db145c7 dl/t-readme-spell-git-correctly later to maint).
(merge 45a87a83bb dl/python-2.7-is-the-floor-version later to maint).
(merge b75a219904 es/advertise-contribution-doc later to maint).
(merge 0c9a4f638a rs/pull-leakfix later to maint).
(merge d546fe2874 rs/commit-reach-leakfix later to maint).
(merge 087bf5409c mk/pb-pretty-email-without-domain-part-fix later to maint).
(merge 5f4ee57ad9 es/worktree-code-cleanup later to maint).
(merge 0172f7834a cc/cat-file-usage-update later to maint).
(merge 81de0c01cf ma/rebase-doc-typofix later to maint).
15 changes: 8 additions & 7 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ Submitting Patches

== Guidelines

Here are some guidelines for people who want to contribute their code
to this software.
Here are some guidelines for people who want to contribute their code to this
software. There is also a link:MyFirstContribution.html[step-by-step tutorial]
available which covers many of these same guidelines.

[[base-branch]]
=== Decide what to base your work on.
Expand All @@ -18,7 +19,7 @@ change is relevant to.
base your work on the tip of the topic.

* A new feature should be based on `master` in general. If the new
feature depends on a topic that is in `pu`, but not in `master`,
feature depends on a topic that is in `seen`, but not in `master`,
base your work on the tip of that topic.

* Corrections and enhancements to a topic not yet in `master` should
Expand All @@ -27,7 +28,7 @@ change is relevant to.
into the series.

* In the exceptional case that a new feature depends on several topics
not in `master`, start working on `next` or `pu` privately and send
not in `master`, start working on `next` or `seen` privately and send
out patches for discussion. Before the final merge, you may have to
wait until some of the dependent topics graduate to `master`, and
rebase your work.
Expand All @@ -37,7 +38,7 @@ change is relevant to.
these parts should be based on their trees.

To find the tip of a topic branch, run `git log --first-parent
master..pu` and look for the merge commit. The second parent of this
master..seen` and look for the merge commit. The second parent of this
commit is the tip of the topic branch.

[[separate-commits]]
Expand Down Expand Up @@ -423,7 +424,7 @@ help you find out who they are.
and cooked further and eventually graduates to `master`.

In any time between the (2)-(3) cycle, the maintainer may pick it up
from the list and queue it to `pu`, in order to make it easier for
from the list and queue it to `seen`, in order to make it easier for
people play with it without having to pick up and apply the patch to
their trees themselves.

Expand All @@ -434,7 +435,7 @@ their trees themselves.
master. `git pull --rebase` will automatically skip already-applied
patches, and will let you know. This works only if you rebase on top
of the branch in which your patch has been merged (i.e. it will not
tell you if your patch is merged in pu if you rebase on top of
tell you if your patch is merged in `seen` if you rebase on top of
master).

* Read the Git mailing list, the maintainer regularly posts messages
Expand Down
4 changes: 4 additions & 0 deletions Documentation/config/diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ diff.mnemonicPrefix::
diff.noprefix::
If set, 'git diff' does not show any source or destination prefix.

diff.relative::
If set to 'true', 'git diff' does not show changes outside of the directory
and show pathnames relative to the current directory.

diff.orderFile::
File indicating how to order files within a diff.
See the '-O' option to linkgit:git-diff[1] for details.
Expand Down
10 changes: 3 additions & 7 deletions Documentation/config/feature.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,9 @@ feature.experimental::
* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
skipping more commits at a time, reducing the number of round trips.
+
* `fetch.writeCommitGraph=true` writes a commit-graph after every `git fetch`
command that downloads a pack-file from a remote. Using the `--split` option,
most executions will create a very small commit-graph file on top of the
existing commit-graph file(s). Occasionally, these files will merge and the
write may take longer. Having an updated commit-graph file helps performance
of many Git commands, including `git merge-base`, `git push -f`, and
`git log --graph`.
* `protocol.version=2` speeds up fetches from repositories with many refs by
allowing the client to specify which refs to list before the server lists
them.

feature.manyFiles::
Enable config options that optimize for repos with many files in the
Expand Down
3 changes: 1 addition & 2 deletions Documentation/config/fetch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,4 @@ fetch.writeCommitGraph::
the existing commit-graph file(s). Occasionally, these files will
merge and the write may take longer. Having an updated commit-graph
file helps performance of many Git commands, including `git merge-base`,
`git push -f`, and `git log --graph`. Defaults to false, unless
`feature.experimental` is true.
`git push -f`, and `git log --graph`. Defaults to false.
4 changes: 4 additions & 0 deletions Documentation/config/init.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
init.templateDir::
Specify the directory from which templates will be copied.
(See the "TEMPLATE DIRECTORY" section of linkgit:git-init[1].)

init.defaultBranch::
Allows overriding the default branch name e.g. when initializing
a new repository or when cloning an empty repository.
3 changes: 2 additions & 1 deletion Documentation/config/protocol.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ protocol.version::
If set, clients will attempt to communicate with a server
using the specified protocol version. If the server does
not support it, communication falls back to version 0.
If unset, the default is `0`.
If unset, the default is `0`, unless `feature.experimental`
is enabled, in which case the default is `2`.
Supported versions:
+
--
Expand Down
Loading