Skip to content

[DO NOT MERGE] Prepare for v2.25.0-rc0 #2446

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 869 commits into from
Dec 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
869 commits
Select commit Hold shift + click to select a range
ccc292e
Merge branch 'jc/drop-gen-hdrs'
gitster Dec 25, 2019
45b96a6
Merge branch 'js/add-p-in-c'
gitster Dec 25, 2019
c0c6a74
Merge branch 'rs/xdiff-ignore-ws-w-func-context'
gitster Dec 25, 2019
65099bd
Merge branch 'mr/bisect-save-pointer-to-const-string'
gitster Dec 25, 2019
8be0a42
Merge branch 'rs/test-cleanup'
gitster Dec 25, 2019
d2189a7
Merge branch 'en/fill-directory-fixes'
gitster Dec 25, 2019
99c33be
Git 2.25-rc0
gitster Dec 25, 2019
2396e2d
squash! Win32: Make the dirent implementation pluggable
kblees Sep 8, 2013
4d3d891
squash! Win32: add a cache below mingw's lstat and dirent implementat…
kblees Oct 1, 2013
7718c58
squash! Win32: support long paths
kblees Jul 28, 2015
69fc26c
fixup! fscache: remember not-found directories
dscho Dec 26, 2019
d4d0045
fixup! fscache: implement an FSCache-aware is_mount_point()
dscho Dec 26, 2019
3ee5f1f
Start the merging-rebase to v2.25.0-rc0
dscho Dec 26, 2019
a1533c7
reset: reinstate support for the deprecated --stdin option
dscho Dec 10, 2019
9fa2e9f
t9350: point out that refs are not updated correctly
SRabbelier Jul 24, 2011
01606ff
mingw: demonstrate a problem with certain absolute paths
dscho Apr 18, 2017
fd33ede
diffcore-rename: speed up register_rename_src
jeffhostetler Dec 15, 2016
16b6aea
mingw: allow absolute paths without drive prefix
dscho Apr 18, 2017
a782324
t5580: test cloning without file://, test fetching via UNC paths
dscho Jul 13, 2017
d8b831b
mingw: handle absolute paths in expand_user_path()
dscho Dec 11, 2015
348b082
archive: replace write_or_die() calls with write_block_or_die()
r1walz Feb 15, 2019
6fa634b
mingw: add a helper function to attach GDB to the current process
dscho Nov 6, 2018
18b47d8
archive: avoid spawning `gzip`
r1walz Feb 19, 2019
a1ab243
built-in add -p: prepare for patch modes other than "stage"
dscho Mar 23, 2019
250c589
built-in add -p: implement the "stash" and "reset" patch modes
dscho Mar 23, 2019
4a754c9
legacy stash -p: respect the add.interactive.usebuiltin setting
dscho Mar 24, 2019
2af0df9
built-in stash: use the built-in `git add -p` if so configured
dscho Apr 4, 2019
d8d46ff
built-in add -p: implement the "checkout" patch modes
dscho Mar 23, 2019
ede0602
built-in add -p: implement the "worktree" patch modes
dscho Mar 23, 2019
dca14b7
commit --interactive: make it work with the built-in `add -i`
dscho Mar 29, 2019
8deddf3
Merge branch 'other-command-p-in-c'
dscho Mar 28, 2019
2288b68
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
ddaede8
gitk: prevent overly long command lines
dscho Apr 25, 2019
41a299c
gitk: Escape file paths before piping to git log
gix Aug 19, 2019
1673083
t9001, t9116: avoid pipes
dscho Jan 11, 2017
883aa3f
mingw: explicitly `fflush` stdout
Apr 16, 2015
ae02ca7
clean: do not traverse mount points
dscho Dec 7, 2018
ce3c895
mingw: make is_hidden tests in t0001/t5611 more robust
dscho Feb 21, 2017
60fe984
Help debugging with MSys2 by optionally executing bash with strace
dscho Feb 20, 2015
eec40bf
clean: remove mount points when possible
dscho Dec 11, 2018
71f5939
mingw: cope with the Isilon network file system
naatje80 Jul 4, 2019
0ca749d
config.mak.uname: PCRE1 cleanup
carenas Aug 31, 2019
42d27b4
vcpkg_install: detect lack of Git
PhilipOakley Oct 6, 2019
77eb367
mingw: move Git for Windows' system config where users expect it
dscho Oct 6, 2019
34b893e
vcpkg_install: add comment regarding slow network connections
PhilipOakley Oct 6, 2019
66bbeef
config: normalize the path of the system gitconfig
dscho Oct 24, 2019
3162e6b
mingw: include the Python parts in the build
dscho Feb 16, 2015
5d5db7b
Config option to disable side-band-64k for transport
t-b May 8, 2014
9f965a5
mingw: make sure `errno` is set correctly when socket operations fail
dscho Nov 14, 2019
ee396e9
Merge branch 'reset-stdin'
dscho Jun 8, 2018
ca2f932
Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
hvoigt Feb 18, 2010
49e84dd
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
05881f8
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
85b8262
respect core.hooksPath, falling back to .git/hooks
dscho Oct 4, 2018
c211001
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
29cf837
gitk: Unicode file name support
kblees Feb 4, 2012
c379d43
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
dd79216
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
a9af64e
git-gui: correctly restore GIT_DIR after invoking gitk
max630 Jan 18, 2017
6394e4c
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
16b37ca
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
ef55cf8
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
f02266f
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
003c73a
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
265a278
Merge pull request #1032 from max630/gitgui_GIT_GIT_unset
dscho Jun 8, 2018
52c50eb
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
0710c60
Merge 'gitk' into HEAD
dscho Jun 7, 2018
ed0c849
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
3ccbd87
status: reinstate --show-ignored-directory as a deprecated option
dscho Nov 9, 2017
1ee7333
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
3598af3
status: carry the --no-lock-index option for backwards-compatibility
dscho Aug 12, 2016
0a82682
status: verify that --show-ignored-directory prints a warning
dscho Nov 9, 2017
6109d5e
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
41a5811
Add an issue template
shiftkey Feb 18, 2016
cfb3f21
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
d7d2b67
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
f28258f
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
596bf7a
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
b857e26
mingw: short-circuit the conversion of `/dev/null` to UTF-16
dscho Sep 5, 2019
adbc722
mingw: refuse paths containing reserved names
dscho Sep 5, 2019
4684b26
built-in add -p: support interactive.diffFilter
dscho Mar 12, 2019
959757c
built-in add -p: handle diff.algorithm
dscho Mar 23, 2019
7def746
terminal: make the code of disable_echo() reusable
dscho Apr 4, 2019
c93d2e4
terminal: accommodate Git for Windows' default terminal
dscho Apr 4, 2019
42d5b0a
terminal: add a new function to read a single keystroke
dscho Mar 26, 2019
82e6715
built-in add -p: respect the `interactive.singlekey` config setting
dscho Mar 26, 2019
f7244cf
built-in add -p: handle Escape sequences in interactive.singlekey mode
dscho Mar 27, 2019
23fe5da
built-in add -p: handle Escape sequences more efficiently
dscho Mar 27, 2019
a118201
ci: include the built-in `git add -i` in the `linux-gcc` job
dscho Mar 28, 2019
80b27ac
t3904: fix incorrect demonstration of a bug
dscho Apr 6, 2019
c8ea3a7
stash -p: (partially) fix bug concerning split hunks
dscho Apr 6, 2019
f37529c
Merge branch 'add-p-in-c-config-settings'
dscho Mar 28, 2019
c9b2a98
Merge branch 'stash-p-corner-case'
dscho May 8, 2019
73de8a0
transport-helper: add trailing --
SRabbelier Aug 29, 2010
3a726dd
remote-helper: check helper status after import/export
SRabbelier Jul 23, 2011
e0495ec
Always auto-gc after calling a fast-import transport
dscho Apr 9, 2012
7fcb6df
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
9736c39
Merge pull request #996 from jeffhostetler/jeffhostetler/register_ren…
dscho Jun 8, 2018
e416ed2
Merge branch 'drive-prefix'
dscho Jun 8, 2018
311a718
Merge branch 'test-unc-fetch'
dscho Oct 11, 2018
a5bc7f5
Merge branch 'mingw-expand-absolute-user-path'
dscho Oct 12, 2018
3d7de5e
Merge pull request #1915 from dscho/open-in-gdb
dscho Nov 7, 2018
d1b04e9
Merge branch 'dont-spawn-gzip-in-archive'
dscho Feb 21, 2019
dbd9806
Merge remote-tracking branch 'dscho/add-p' into add-p-g4w
dscho Apr 3, 2019
3c4a85c
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
115a4c6
Merge pull request #2170 from dscho/gitk-long-cmdline
dscho Apr 26, 2019
e738ad8
Merge branch 'avoid-pipes-in-svn-tests'
dscho May 31, 2019
3c07050
Merge branch 'fflush-in-git-clean'
dscho May 31, 2019
0a3b694
Merge branch 'robustify-is-hidden-tests'
dscho May 31, 2019
dbba9b3
Merge branch 'msys2-strace'
dscho May 31, 2019
656fe9f
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
5b6b57a
Merge branch 'work-around-isilon'
dscho Jul 8, 2019
ce1bbbd
Merge pull request #2316 from carenas/win-pcre1-cleanup
dscho Sep 2, 2019
e4c1704
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
ec1e796
Merge branch 'move-gfw-system-config-to-top-level'
dscho Oct 18, 2019
96312ae
Merge branch 'msys2-python'
dscho May 31, 2019
0b229f4
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
84ff736
Merge branch 'mingw-reserved-filenames'
dscho Dec 19, 2019
6afb533
Merge pull request #2405 from dscho/mingw-setsockopt
dscho Nov 25, 2019
ed76aa0
Merge pull request #2440 from dscho/mingw-reserved-filenames-gfw
dscho Dec 26, 2019
0e05dd0
Allow `add -p` and `add -i` with a large number of files
kkheller May 27, 2015
f9dc9bd
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
317e645
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
e0aa64e
mingw: make the dirent implementation pluggable
kblees Sep 8, 2013
e6c805f
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
8223eb3
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
1fcade1
mingw: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
34b3179
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
c9b3387
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
c638526
fscache: load directories only once
kblees Jun 24, 2014
3b82551
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
5697331
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
b9506d6
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
aa414d2
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
79e8f21
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
e59e3ba
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
a1ccdab
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
5bbe27d
checkout.c: enable fscache for checkout again
Jan 30, 2018
7b7248d
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
681ad89
fscache: fscache takes an initial size
benpeart Nov 2, 2018
57a0e34
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
bc02570
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
f85e4ac
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
0c3ef42
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
cced311
At the end of the add command, disable and free the fscache so that w…
benpeart Nov 5, 2018
13656fa
fscache: add fscache hit statistics
benpeart Sep 25, 2018
b2d13f1
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
c7f3c20
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
ebe6a1b
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
63a3458
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
f6a7e11
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
c7f1aae
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
b4c8c01
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
8b595b1
clean: make use of FSCache
dscho Dec 11, 2018
3a6f922
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
67c70e9
mingw: support long paths
kblees Jul 28, 2015
9e77241
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
1a8dbc0
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
c27112a
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
d3e2bf0
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
142314b
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
62a4861
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
30125af
mingw: disable t9020
dscho Feb 23, 2015
75e8b97
mingw: ensure valid CTYPE
dscho Feb 21, 2017
83f84e3
Merge branch 'maybe-drop'
dscho Oct 12, 2018
0fe74b2
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
ab75798
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
6aa4bd0
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
a946c55
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
ab01c47
Win32: implement stat() with symlink support
kblees May 15, 2015
a985d0a
Win32: remove separate do_lstat() function
kblees May 11, 2015
133cb55
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
f184bac
mingw: teach fscache and dirent about symlinks
kblees Jan 10, 2017
7824417
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
80b4c1f
Win32: factor out retry logic
kblees May 19, 2015
7327a9a
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
231f315
Win32: add symlink-specific error codes
kblees May 15, 2015
f23fb75
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
1076567
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
9c987d9
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
361e6aa
Win32: implement readlink()
kblees May 23, 2015
302997a
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
20d8332
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
42a19af
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
e5283c4
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
5295f96
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
d356ee4
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
3bc3ede
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
981bfd2
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
aafdf31
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
115ae85
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
59d0fc0
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
bf12a0f
transport-helper: prefer Git's builtins over dashed form
dscho Jul 19, 2017
a632171
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
2e30c18
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
38551fc
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
b028383
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
7e1d534
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
2cf5d5b
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
8b5d3c6
tests: use t/diff-lib/* consistently
dscho Aug 5, 2017
96d4351
gitattributes: mark .png files as binary
dscho Oct 11, 2018
8c440f1
tests: move test PNGs into t/diff-lib/
dscho Aug 5, 2017
10be4c9
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
67d5609
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
e9b3ddd
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
dd1a765
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
41f91f9
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
a119a76
t0021: use Windows path when appropriate
dscho Aug 4, 2017
e68fc0b
t1300: mark all test cases with funny filenames as !MINGW
dscho Jul 3, 2017
0a7291a
t4124: avoid using "normal" diff mode
dscho Jul 5, 2017
9fd5b9b
t5003: use binary file from t/diff-lib/
dscho Aug 5, 2017
d8b4367
t5003: skip `unzip -a` tests with BusyBox
dscho Jul 5, 2017
7391df7
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
22c419c
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
c0ccd2e
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
f6b00b9
t7063: when running under BusyBox, avoid unsupported find option
dscho Jul 19, 2017
14ce653
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
d464ca6
mingw: kill child processes in a gentler way
dscho May 17, 2017
32af604
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
b292f98
mingw: really handle SIGINT
dscho Apr 22, 2018
31bf016
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
e940b61
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
60be411
Merge 'add-p-many-files'
dscho Jun 8, 2018
d21fe44
Merge branch 'fscache'
dscho Nov 15, 2018
1439cd1
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
1625ac7
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
a0d9b4d
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
67e5f7b
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
f897429
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
39f0ed0
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
c8fa3c7
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
7aa3a53
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
ce52d8d
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
73ee893
Merge pull request #1914 from benpeart/free-fscache-after-add-gfw
dscho Nov 16, 2018
8a8eac3
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
65d07ba
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
89d6ed6
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
ee695f3
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
82dc309
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
6021631
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
baa71f4
Merge branch 'long-paths'
dscho Nov 15, 2018
38159a0
Merge branch 'msys2'
dscho Nov 15, 2018
5d455f4
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
c229d4d
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
94cde60
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
aa2ed60
Merge branch 'busybox-w32'
dscho Feb 7, 2019
9dd2877
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
9551b5a
Merge branch 'status-no-lock-index'
dscho Jun 8, 2018
53f13ea
Merge pull request #1354 from dscho/phase-out-show-ignored-directory-…
dscho Jun 8, 2018
2249a76
Merge 'readme' into HEAD
dscho Jun 7, 2018
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 .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@
/git-show-branch
/git-show-index
/git-show-ref
/git-sparse-checkout
/git-stage
/git-stash
/git-status
Expand Down
4 changes: 2 additions & 2 deletions Documentation/CodingGuidelines
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ For shell scripts specifically (not exhaustive):

- If you want to find out if a command is available on the user's
$PATH, you should use 'type <command>', instead of 'which <command>'.
The output of 'which' is not machine parseable and its exit code
The output of 'which' is not machine parsable and its exit code
is not reliable across platforms.

- We use POSIX compliant parameter substitutions and avoid bashisms;
Expand Down Expand Up @@ -203,7 +203,7 @@ For C programs:
. since early 2012 with e1327023ea, we have been using an enum
definition whose last element is followed by a comma. This, like
an array initializer that ends with a trailing comma, can be used
to reduce the patch noise when adding a new identifer at the end.
to reduce the patch noise when adding a new identifier at the end.

. since mid 2017 with cbc0f81d, we have been using designated
initializers for struct (e.g. "struct t v = { .val = 'a' };").
Expand Down
1 change: 1 addition & 0 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technica
SP_ARTICLES += $(API_DOCS)

TECH_DOCS += MyFirstContribution
TECH_DOCS += MyFirstObjectWalk
TECH_DOCS += SubmittingPatches
TECH_DOCS += technical/hash-function-transition
TECH_DOCS += technical/http-protocol
Expand Down
55 changes: 51 additions & 4 deletions Documentation/MyFirstContribution.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,26 @@ $ git clone https://github.com/git/git git
$ cd git
----

[[dependencies]]
=== Installing Dependencies

To build Git from source, you need to have a handful of dependencies installed
on your system. For a hint of what's needed, you can take a look at
`INSTALL`, paying close attention to the section about Git's dependencies on
external programs and libraries. That document mentions a way to "test-drive"
our freshly built Git without installing; that's the method we'll be using in
this tutorial.

Make sure that your environment has everything you need by building your brand
new clone of Git from the above step:

----
$ make
----

NOTE: The Git build is parallelizable. `-j#` is not included above but you can
use it as you prefer, here and elsewhere.

[[identify-problem]]
=== Identify Problem to Solve

Expand Down Expand Up @@ -138,9 +158,6 @@ NOTE: When you are developing the Git project, it's preferred that you use the
`DEVELOPER` flag; if there's some reason it doesn't work for you, you can turn
it off, but it's a good idea to mention the problem to the mailing list.

NOTE: The Git build is parallelizable. `-j#` is not included above but you can
use it as you prefer, here and elsewhere.

Great, now your new command builds happily on its own. But nobody invokes it.
Let's change that.

Expand Down Expand Up @@ -534,6 +551,28 @@ you want to pass as a parameter something which would usually be interpreted as
a flag.) `parse_options()` will terminate parsing when it reaches `--` and give
you the rest of the options afterwards, untouched.

Now that you have a usage hint, you can teach Git how to show it in the general
command list shown by `git help git` or `git help -a`, which is generated from
`command-list.txt`. Find the line for 'git-pull' so you can add your 'git-psuh'
line above it in alphabetical order. Now, we can add some attributes about the
command which impacts where it shows up in the aforementioned help commands. The
top of `command-list.txt` shares some information about what each attribute
means; in those help pages, the commands are sorted according to these
attributes. `git psuh` is user-facing, or porcelain - so we will mark it as
"mainporcelain". For "mainporcelain" commands, the comments at the top of
`command-list.txt` indicate we can also optionally add an attribute from another
list; since `git psuh` shows some information about the user's workspace but
doesn't modify anything, let's mark it as "info". Make sure to keep your
attributes in the same style as the rest of `command-list.txt` using spaces to
align and delineate them:

----
git-prune-packed plumbingmanipulators
git-psuh mainporcelain info
git-pull mainporcelain remote
git-push mainporcelain remote
----

Build again. Now, when you run with `-h`, you should see your usage printed and
your command terminated before anything else interesting happens. Great!

Expand Down Expand Up @@ -746,6 +785,14 @@ will automatically run your PRs through the CI even without the permission given
but you will not be able to `/submit` your changes until someone allows you to
use the tool.

NOTE: You can typically find someone who can `/allow` you on GitGitGadget by
either examining recent pull requests where someone has been granted `/allow`
(https://github.com/gitgitgadget/git/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+%22%2Fallow%22[Search:
is:pr is:open "/allow"]), in which case both the author and the person who
granted the `/allow` can now `/allow` you, or by inquiring on the
https://webchat.freenode.net/#git-devel[#git-devel] IRC channel on Freenode
linking your pull request and asking for someone to `/allow` you.

If the CI fails, you can update your changes with `git rebase -i` and push your
branch again:

Expand Down Expand Up @@ -970,7 +1017,7 @@ reviewers the changes you've made that may not be as visible.
You will also need to go and find the Message-Id of your previous cover letter.
You can either note it when you send the first series, from the output of `git
send-email`, or you can look it up on the
https://public-inbox.org/git[mailing list]. Find your cover letter in the
https://lore.kernel.org/git[mailing list]. Find your cover letter in the
archives, click on it, then click "permalink" or "raw" to reveal the Message-Id
header. It should match:

Expand Down
Loading