Skip to content

Rebase to Git v2.24.0 #2386

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 337 commits into from
Nov 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
337 commits
Select commit Hold shift + click to select a range
a7e0aa8
built-in add -p: adjust hunk headers as needed
dscho Mar 21, 2019
5a15860
apply --allow-overlap: fix a corner case
dscho Mar 20, 2019
fb22ad9
built-in add -p: color the prompt and the help text
dscho Mar 12, 2019
efae448
built-in add -p: offer a helpful error message when hunk navigation f…
dscho Mar 17, 2019
7647db9
built-in add -p: support multi-file diffs
dscho Mar 15, 2019
0f827c4
built-in add -p: handle deleted empty files
dscho Mar 15, 2019
cc101c0
built-in app -p: allow selecting a mode change as a "hunk"
dscho Mar 15, 2019
a0e4df5
built-in add -p: show different prompts for mode changes and deletions
dscho Mar 23, 2019
b336dc3
built-in add -p: implement the hunk splitting feature
dscho Mar 17, 2019
45499e9
built-in add -p: coalesce hunks after splitting them
dscho Mar 19, 2019
991ff42
built-in add -p: implement hunk editing
dscho Mar 19, 2019
8fca5f8
built-in add -p: prepare for patch modes other than "stage"
dscho Mar 23, 2019
9cd1a97
built-in add -p: implement the 'g' ("goto") command
dscho Mar 21, 2019
d09568b
built-in add -p: implement the "stash" and "reset" patch modes
dscho Mar 23, 2019
5dbae4b
built-in add -p: implement the '/' ("search regex") command
dscho Mar 21, 2019
9660424
legacy stash -p: respect the add.interactive.usebuiltin setting
dscho Mar 24, 2019
f225674
built-in add -p: implement the 'q' ("quit") command
dscho Mar 22, 2019
92757ac
built-in stash: use the built-in `git add -p` if so configured
dscho Apr 4, 2019
69efacc
built-in add -p: only show the applicable parts of the help text
dscho Mar 24, 2019
a1706ff
built-in add -p: implement the "checkout" patch modes
dscho Mar 23, 2019
24df6a1
built-in add -p: show helpful hint when nothing can be staged
dscho Mar 24, 2019
e7bbd99
built-in add -p: support interactive.diffFilter
dscho Mar 12, 2019
0c950c2
built-in add -p: handle diff.algorithm
dscho Mar 23, 2019
cf6734c
terminal: make the code of disable_echo() reusable
dscho Apr 4, 2019
f9bbce6
terminal: accommodate Git for Windows' default terminal
dscho Apr 4, 2019
f0df8ce
terminal: add a new function to read a single keystroke
dscho Mar 26, 2019
66aabfd
built-in add -p: implement the "worktree" patch modes
dscho Mar 23, 2019
068db52
built-in add -p: respect the `interactive.singlekey` config setting
dscho Mar 26, 2019
5ff3762
commit --interactive: make it work with the built-in `add -i`
dscho Mar 29, 2019
4fed9c9
built-in add -p: handle Escape sequences in interactive.singlekey mode
dscho Mar 27, 2019
d7fa28e
built-in add -p: handle Escape sequences more efficiently
dscho Mar 27, 2019
c34f32d
t3904: fix incorrect demonstration of a bug
dscho Apr 6, 2019
2f4eda1
ci: include the built-in `git add -i` in the `linux-gcc` job
dscho Mar 28, 2019
72ae41e
stash -p: (partially) fix bug concerning split hunks
dscho Apr 6, 2019
f9f6e76
Merge branch 'add-i-in-c-status-and-help'
dscho Mar 28, 2019
ca00a85
Merge branch 'add-i-in-c-all-except-patch'
dscho Mar 28, 2019
6a3a920
Merge branch 'add-i-fixes'
dscho Mar 28, 2019
3c2c310
Merge branch 'add-p-in-c'
dscho Mar 28, 2019
b46d1f5
Merge branch 'other-command-p-in-c'
dscho Mar 28, 2019
0897a49
Merge branch 'add-p-in-c-config-settings'
dscho Mar 28, 2019
7517225
gitk: prevent overly long command lines
dscho Apr 25, 2019
80c9cbe
Merge branch 'stash-p-corner-case'
dscho May 8, 2019
3eac277
mingw: change core.fsyncObjectFiles = 1 by default
dscho Sep 4, 2017
8a3a367
gitk: Escape file paths before piping to git log
gix Aug 19, 2019
97e21fb
t9001, t9116: avoid pipes
dscho Jan 11, 2017
61ad94d
clean: do not traverse mount points
dscho Dec 7, 2018
e38285b
mingw: explicitly `fflush` stdout
Apr 16, 2015
4713be9
mingw: make is_hidden tests in t0001/t5611 more robust
dscho Feb 21, 2017
7d2b6fe
Help debugging with MSys2 by optionally executing bash with strace
dscho Feb 20, 2015
cfaed70
clean: remove mount points when possible
dscho Dec 11, 2018
eff1290
vcpkg_install: detect lack of Git
PhilipOakley Oct 6, 2019
058c8fa
mingw: move Git for Windows' system config where users expect it
dscho Oct 6, 2019
0f163ab
mingw: cope with the Isilon network file system
naatje80 Jul 4, 2019
c55ee6e
config.mak.uname: PCRE1 cleanup
carenas Aug 31, 2019
3d170b0
rebase -r: let `label` generate safer labels
ROGERSM94 Aug 29, 2019
824b7dd
vcpkg_install: add comment regarding slow network connections
PhilipOakley Oct 6, 2019
aa6df69
config: normalize the path of the system gitconfig
dscho Oct 24, 2019
81b74a8
mingw: demonstrate that all file handles are inherited by child proce…
dscho Jan 26, 2018
604477e
mingw: work around incorrect standard handles
dscho Feb 7, 2018
6fa3247
mingw: spawned processes need to inherit only standard handles
dscho Jan 26, 2018
cba298e
mingw: include the Python parts in the build
dscho Feb 16, 2015
a86420d
mingw: restrict file handle inheritance only on Windows 7 and later
dscho May 31, 2019
0e2e99d
Config option to disable side-band-64k for transport
t-b May 8, 2014
06c0ae2
vreportf(): avoid relying on stdio buffering
dscho Oct 25, 2019
aa5ef34
update-index: optionally leave skip-worktree entries alone
dscho Sep 25, 2019
bd7aed5
stash: handle staged changes in skip-worktree files correctly
dscho Sep 25, 2019
d4edaae
Merge branch 'reset-stdin'
dscho Jun 8, 2018
1311df5
Merge 'remote-hg-prerequisites' into HEAD
dscho Jun 8, 2018
37cf00f
Merge pull request #996 from jeffhostetler/jeffhostetler/register_ren…
dscho Jun 8, 2018
3e7dcad
Merge branch 'drive-prefix'
dscho Jun 8, 2018
ecd0bfc
Merge branch 'test-unc-fetch'
dscho Oct 11, 2018
63c9340
Merge branch 'mingw-expand-absolute-user-path'
dscho Oct 12, 2018
3dabf57
Merge pull request #1915 from dscho/open-in-gdb
dscho Nov 7, 2018
7696cc9
Merge branch 'dont-spawn-gzip-in-archive'
dscho Feb 21, 2019
534ba15
Merge remote-tracking branch 'dscho/add-p' into add-p-g4w
dscho Apr 3, 2019
00d3058
Merge branch 'fsync-object-files-always'
dscho Oct 11, 2018
bed8291
Merge pull request #2170 from dscho/gitk-long-cmdline
dscho Apr 26, 2019
9f400c8
Merge branch 'avoid-pipes-in-svn-tests'
dscho May 31, 2019
dffb413
Merge branch 'fflush-in-git-clean'
dscho May 31, 2019
daac80f
Merge branch 'robustify-is-hidden-tests'
dscho May 31, 2019
e7cd48d
Merge branch 'msys2-strace'
dscho May 31, 2019
6db29da
Merge branch 'dont-clean-junctions'
dscho Jul 30, 2019
702a0de
Merge branch 'work-around-isilon'
dscho Jul 8, 2019
291a67e
Merge pull request #2316 from carenas/win-pcre1-cleanup
dscho Sep 2, 2019
e547fc6
Merge pull request #2315 from ROGERSM94/fix-rebase
dscho Sep 2, 2019
8f3aeee
Merge pull request #2351 from PhilipOakley/vcpkg-tip
dscho Oct 7, 2019
98b29ee
Merge branch 'move-gfw-system-config-to-top-level'
dscho Oct 18, 2019
ce0a8d0
Merge branch 'msys2-python'
dscho May 31, 2019
d27c46b
Merge branch 'inherit-only-stdhandles'
dscho Jan 31, 2018
3be86bf
Merge pull request #2375 from assarbad/reintroduce-sideband-config
dscho Oct 30, 2019
981281b
Merge pull request #2373 from dscho/fix-t5516-flakiness
dscho Oct 30, 2019
ed9d953
Merge pull request #2378 from dscho/fix-stash-with-skip-worktree
dscho Oct 30, 2019
0b4fa94
Revert "git-gui: set GIT_DIR and GIT_WORK_TREE after setup"
hvoigt Feb 18, 2010
770e013
git-gui: provide question helper for retry fallback on Windows
hvoigt Feb 21, 2010
2b92c10
git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
dscho Jul 23, 2010
918f252
git-gui--askyesno: fix funny text wrapping
dscho Sep 20, 2017
78b8a99
git-gui--askyesno: allow overriding the window title
dscho Sep 20, 2017
1982635
respect core.hooksPath, falling back to .git/hooks
dscho Oct 4, 2018
0bc3f7b
git-gui: correctly restore GIT_DIR after invoking gitk
max630 Jan 18, 2017
4f31747
git-gui--askyesno (mingw): use Git for Windows' icon, if available
dscho Sep 20, 2017
03ef195
gitk: Unicode file name support
kblees Feb 4, 2012
7279575
gitk: Use an external icon file on Windows
sschuberth Jul 22, 2012
cf280f0
gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
dscho Feb 16, 2016
8fcf66b
Merge 'git-gui' into HEAD
dscho Jun 7, 2018
a00f9a0
gitk: make the "list references" default window width wider
sidecut Jan 21, 2016
48287d9
Merge branch 'git-gui-hooks-path' of https://github.com/dscho/git-gui
dscho Jul 10, 2018
47cae6a
Merge pull request #1032 from max630/gitgui_GIT_GIT_unset
dscho Jun 8, 2018
168234a
Merge branch 'git-gui-askyesno'
dscho Jun 8, 2018
6010376
Merge 'gitk' into HEAD
dscho Jun 7, 2018
e42dd38
Win32: make FILETIME conversion functions public
kblees Jul 6, 2013
336909e
Win32: dirent.c: Move opendir down
kblees Sep 8, 2013
59f2eed
Win32: Make the dirent implementation pluggable
kblees Sep 8, 2013
61ce3d5
Win32: make the lstat implementation pluggable
kblees Sep 8, 2013
a9c8d50
add infrastructure for read-only file system level caches
kblees Sep 8, 2013
cdc35ab
Allow `add -p` and `add -i` with a large number of files
kkheller May 27, 2015
09bb1be
Win32: add a cache below mingw's lstat and dirent implementations
kblees Oct 1, 2013
7d3c4fa
t3701: verify that we can add *lots* of files interactively
dscho Sep 12, 2015
b1a5b99
fscache: add key for GIT_TRACE_FSCACHE
jeffhostetler Jan 24, 2017
e579675
dir.c: make add_excludes aware of fscache during status
jeffhostetler Nov 1, 2017
8343e45
fscache: remember not-found directories
jeffhostetler Dec 13, 2016
85520e0
fscache: make fscache_enabled() public
jeffhostetler Dec 20, 2017
d626c40
fscache: load directories only once
kblees Jun 24, 2014
6d94f92
fscache: add a test for the dir-not-found optimization
dscho Jan 25, 2017
4968479
add: use preload-index and fscache for performance
jeffhostetler Nov 22, 2016
ad48a7a
dir.c: regression fix for add_excludes with fscache
jeffhostetler Dec 20, 2017
999be24
fetch-pack.c: enable fscache for stats under .git/objects
Nov 22, 2017
cb258e7
checkout.c: enable fscache for checkout again
Jan 30, 2018
27bbac5
Enable the filesystem cache (fscache) in refresh_index().
benpeart Sep 7, 2018
7e66a2f
fscache: use FindFirstFileExW to avoid retrieving the short name
benpeart Oct 23, 2018
0fca9c2
status: disable and free fscache at the end of the status command
benpeart Nov 1, 2018
c91f40e
fscache: add GIT_TEST_FSCACHE support
benpeart Oct 4, 2018
d66aae6
mem_pool: add GIT_TRACE_MEMPOOL support
benpeart Oct 4, 2018
8363236
fscache: fscache takes an initial size
benpeart Nov 2, 2018
57fab21
fscache: update fscache to be thread specific instead of global
benpeart Oct 4, 2018
807a7b7
At the end of the add command, disable and free the fscache so that w…
benpeart Nov 5, 2018
5c5fe68
fscache: add fscache hit statistics
benpeart Sep 25, 2018
bd0bc59
fscache: teach fscache to use mempool
benpeart Nov 2, 2018
a1d2c9b
fscache: make fscache_enable() thread safe
benpeart Nov 16, 2018
713b0d9
fscache: remember the reparse tag for each entry
dscho Dec 11, 2018
0491378
pack-objects (mingw): demonstrate a segmentation fault with large deltas
vangdfang Jan 9, 2014
7138729
fscache: implement an FSCache-aware is_mount_point()
dscho Dec 11, 2018
126df7e
Win32: support long paths
kblees Jul 28, 2015
2e8dc10
fscache: teach fscache to use NtQueryDirectoryFile
benpeart Nov 15, 2018
ea8740f
unpack-trees: enable fscache for sparse-checkout
derrickstolee Jun 12, 2019
b66730e
clean: make use of FSCache
dscho Dec 11, 2018
2f0b09e
mingw: Support `git_terminal_prompt` with more terminals
kblees Mar 19, 2015
4532316
compat/terminal.c: only use the Windows console if bash 'read -r' fails
kblees May 9, 2015
76c8177
mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
dscho Feb 23, 2018
870287c
Unbreak interactive GPG prompt upon signing
dscho Sep 6, 2016
2c7fbf3
Win32: fix 'lstat("dir/")' with long paths
kblees Jul 4, 2014
e0b1087
mingw: ensure valid CTYPE
dscho Feb 21, 2017
5581269
mingw: ensure that core.longPaths is handled *always*
dscho Aug 29, 2017
baca97a
strbuf_readlink: don't call readlink twice if hint is the exact link …
kblees May 11, 2015
26797c7
strbuf_readlink: support link targets that exceed PATH_MAX
kblees May 11, 2015
08f5b02
lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
kblees May 11, 2015
f8511c6
mingw: disable t9020
dscho Feb 23, 2015
1d5fa1d
Win32: don't call GetFileAttributes twice in mingw_lstat()
kblees May 12, 2015
73031ac
Merge branch 'maybe-drop'
dscho Oct 12, 2018
1ba2e8a
Win32: implement stat() with symlink support
kblees May 15, 2015
0acbe71
Win32: remove separate do_lstat() function
kblees May 11, 2015
e9a908f
Win32: let mingw_lstat() error early upon problems with reparse points
kblees May 23, 2015
08396d3
Win32: teach fscache and dirent about symlinks
kblees Jan 10, 2017
5328e39
Win32: lstat(): return adequate stat.st_size for symlinks
kblees May 15, 2015
4229950
Win32: factor out retry logic
kblees May 19, 2015
3e224f8
Win32: change default of 'core.symlinks' to false
kblees May 23, 2015
19d9fbe
Win32: add symlink-specific error codes
kblees May 15, 2015
b501ce5
Win32: mingw_unlink: support symlinks to directories
kblees May 23, 2015
54dab2d
Win32: mingw_rename: support renaming symlinks
kblees May 19, 2015
ec22e46
Win32: mingw_chdir: change to symlink-resolved directory
kblees May 23, 2015
3274499
Win32: implement readlink()
kblees May 23, 2015
989fd24
mingw: introduce code to detect whether we're inside a Windows container
ZCube Apr 23, 2018
f56076a
Win32: implement basic symlink() functionality (file symlinks only)
kblees May 23, 2015
cf3be89
mingw: when running in a Windows container, try to rename() harder
ZCube Apr 23, 2018
28a0713
Win32: symlink: add support for symlinks to directories
kblees May 23, 2015
522f8fa
mingw: move the file_attr_to_st_mode() function definition
ZCube Apr 23, 2018
990995e
mingw: try to create symlinks without elevated permissions
dscho May 30, 2017
61f12b2
mingw: Windows Docker volumes are *not* symbolic links
dscho Apr 23, 2018
02e71cc
Win32: symlink: move phantom symlink creation to a separate function
piscisaureus Oct 26, 2018
0073f36
transport-helper: prefer Git's builtins over dashed form
dscho Jul 19, 2017
9dc0e1f
Introduce helper to create symlinks that knows about index_state
dscho Feb 11, 2019
11e9d1a
mingw: explicitly specify with which cmd to prefix the cmdline
dscho Jul 20, 2017
adfa76b
mingw: allow to specify the symlink type in .gitattributes
piscisaureus Oct 26, 2018
4474ff4
mingw: when path_lookup() failed, try BusyBox
dscho Jul 20, 2017
9cb055a
Win32: symlink: add test for `symlink` attribute
piscisaureus Oct 26, 2018
ca925a1
test-lib: avoid unnecessary Perl invocation
dscho Aug 5, 2017
a38c965
tests: replace mingw_test_cmp with a helper in C
dscho Jun 7, 2018
3842450
test-tool: learn to act as a drop-in replacement for `iconv`
dscho Jul 20, 2017
425fc78
tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
dscho Jul 20, 2017
a1d48aa
tests: use t/diff-lib/* consistently
dscho Aug 5, 2017
04e2e5a
gitattributes: mark .png files as binary
dscho Oct 11, 2018
d025e31
tests: move test PNGs into t/diff-lib/
dscho Aug 5, 2017
8088c84
tests: only override sort & find if there are usable ones in /usr/bin/
dscho Jul 17, 2017
f1226a7
tests: use the correct path separator with BusyBox
dscho Nov 19, 2018
ab1c002
mingw: only use Bash-ism `builtin pwd -W` when available
dscho Jun 29, 2017
201c2c6
tests (mingw): remove Bash-specific pwd option
dscho Jun 30, 2017
6f6231f
test-lib: add BUSYBOX prerequisite
dscho Jul 19, 2017
11cc5c0
t0021: use Windows path when appropriate
dscho Aug 4, 2017
ebf87b5
t1300: mark all test cases with funny filenames as !MINGW
dscho Jul 3, 2017
dd4e12d
t4124: avoid using "normal" diff mode
dscho Jul 5, 2017
8fe2972
t5003: use binary file from t/diff-lib/
dscho Aug 5, 2017
261986d
t5003: skip `unzip -a` tests with BusyBox
dscho Jul 5, 2017
9d0457b
t5532: workaround for BusyBox on Windows
dscho Jul 21, 2017
37ce78a
t5605: special-case hardlink test for BusyBox-w32
dscho Jul 21, 2017
57e6a01
t5813: allow for $PWD to be a Windows path
dscho Jul 5, 2017
2a81e98
t7063: when running under BusyBox, avoid unsupported find option
dscho Jul 19, 2017
0b03eb4
t9200: skip tests when $PWD contains a colon
dscho Jul 7, 2017
68fedcd
mingw: add a Makefile target to copy test artifacts
dscho Jul 19, 2017
318be88
mingw: kill child processes in a gentler way
dscho May 17, 2017
37f9766
mingw: really handle SIGINT
dscho Apr 22, 2018
c2df492
status: carry the --no-lock-index option for backwards-compatibility
dscho Aug 12, 2016
9520acc
Modify the Code of Conduct for Git for Windows
dscho Oct 11, 2019
30d8360
CONTRIBUTING.md: add guide for first-time contributors
derrickstolee Mar 1, 2018
14a89fc
README.md: Add a Windows-specific preamble
dscho Jan 10, 2014
802db04
Add an issue template
shiftkey Feb 18, 2016
3c3f09b
Modify the GitHub Pull Request template (to reflect Git for Windows)
Dec 22, 2017
4af9fbe
.github: Add configuration for the Sentiment Bot
dscho Feb 20, 2018
855d4df
status: reinstate --show-ignored-directory as a deprecated option
dscho Nov 9, 2017
267fd7b
Document how $HOME is set on Windows
alejandro5042 Mar 9, 2018
c8eeace
status: verify that --show-ignored-directory prints a warning
dscho Nov 9, 2017
a91a0ef
Merge branch 'ready-for-upstream'
dscho Oct 11, 2018
7350fdf
SECURITY.md: document Git for Windows' policies
dscho Aug 23, 2019
90e1d67
Merge branch 'gitk-and-git-gui-patches'
dscho Oct 11, 2018
8f22f82
Merge 'add-p-many-files'
dscho Jun 8, 2018
ecd573e
Merge branch 'fscache'
dscho Nov 15, 2018
4a1a931
Merge pull request #994 from jeffhostetler/jeffhostetler/fscache_nfd
dscho Jun 8, 2018
3237bbd
Merge pull request #971 from jeffhostetler/jeffhostetler/add_preload_…
dscho Jun 8, 2018
aaccaf6
Merge pull request #1344 from jeffhostetler/perf_add_excludes_with_fs…
dscho Jun 8, 2018
b534fc9
Merge pull request #1426 from atetubou/fetch_pack
dscho Jun 8, 2018
226fbc8
Merge pull request #1468 from atetubou/fscache_checkout_flush
dscho Oct 12, 2018
0806787
Merge pull request #1827 from benpeart/fscache_refresh_index
dscho Sep 27, 2018
949febc
Merge pull request #1908 from benpeart/FindFirstFileEx-gfw
dscho Nov 5, 2018
934e0fb
Merge pull request #1909 from benpeart/free-fscache-after-status-gfw
dscho Nov 5, 2018
da46616
Merge pull request #1911 from benpeart/git_test_fscache-gfw
dscho Nov 5, 2018
5554b51
Merge pull request #1914 from benpeart/free-fscache-after-add-gfw
dscho Nov 16, 2018
b16e63d
Merge pull request #1910 from benpeart/fscache_statistics-gfw
dscho Nov 16, 2018
32311fd
Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'
dscho Nov 16, 2018
ef33916
Merge pull request #1934 from benpeart/fscache-thread-safe-enable-gfw
dscho Nov 26, 2018
9b364ec
Merge pull request #1937 from benpeart/fscache-NtQueryDirectoryFile-gfw
dscho Nov 27, 2018
f68ce5a
Merge branch 'fscache-and-sparse-checkout'
derrickstolee Jun 18, 2019
9a35aa0
Merge branch 'dont-clean-junctions-fscache'
dscho Jul 23, 2019
38a52da
Merge branch 'long-paths'
dscho Nov 15, 2018
023bf36
Merge branch 'msys2'
dscho Nov 15, 2018
202b350
Merge branch 'kblees/kb/symlinks'
dscho Nov 15, 2018
d5a52fe
Merge 'docker-volumes-are-no-symlinks'
dscho Oct 12, 2018
a2dc54f
Merge pull request #1897 from piscisaureus/symlink-attr
dscho Oct 31, 2018
b4b117f
Merge branch 'busybox-w32'
dscho Feb 7, 2019
7a07cd9
Merge pull request #1170 from dscho/mingw-kill-process
dscho Oct 11, 2018
60d777c
Merge branch 'status-no-lock-index'
dscho Jun 8, 2018
21742de
Merge pull request #1354 from dscho/phase-out-show-ignored-directory-…
dscho Jun 8, 2018
6a3fa2a
Merge 'readme' into HEAD
dscho Jun 7, 2018
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
9 changes: 4 additions & 5 deletions Documentation/RelNotes/2.24.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ Updates since v2.23

Backward compatibility note

* Although it is not officially deprecated, "filter-branch" is
showing its age and alternatives are available. From this release,
we started to discourage its uses and hint people about
filter-repo.
* "filter-branch" is showing its age and alternatives are available.
From this release, we started to discourage its use and hint
people about filter-repo.

UI, Workflows & Features

Expand Down Expand Up @@ -316,7 +315,7 @@ Fixes since v2.23
to access the worktree correctly, which has been corrected.
(merge dfd557c978 js/stash-apply-in-secondary-worktree later to maint).

* The merge-recursive machiery is one of the most complex parts of
* The merge-recursive machinery is one of the most complex parts of
the system that accumulated cruft over time. This large series
cleans up the implementation quite a bit.
(merge b657047719 en/merge-recursive-cleanup later to maint).
Expand Down
3 changes: 2 additions & 1 deletion Documentation/manpage-bold-literal.xsl
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<!-- manpage-bold-literal.xsl:
special formatting for manpages rendered from asciidoc+docbook -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://docbook.org/ns/docbook"
version="1.0">

<!-- render literal text as bold (instead of plain or monospace);
this makes literal text easier to distinguish in manpages
viewed on a tty -->
<xsl:template match="literal">
<xsl:template match="literal|d:literal">
<xsl:value-of select="$git.docbook.backslash"/>
<xsl:text>fB</xsl:text>
<xsl:apply-templates/>
Expand Down
2 changes: 1 addition & 1 deletion GIT-VERSION-GEN
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

GVF=GIT-VERSION-FILE
DEF_VER=v2.24.0-rc1
DEF_VER=v2.24.0

LF='
'
Expand Down
4 changes: 2 additions & 2 deletions builtin/fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -1755,8 +1755,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)

packet_trace_identity("fetch");

fetch_if_missing = 0;

/* Record the command line for the reflog */
strbuf_addstr(&default_rla, "fetch");
for (i = 1; i < argc; i++)
Expand Down Expand Up @@ -1824,6 +1822,8 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
}
}

fetch_if_missing = 0;

if (remote) {
if (filter_options.choice || has_promisor_remote())
fetch_one_setup_partial(remote);
Expand Down
174 changes: 174 additions & 0 deletions git-gui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Git GUI - A graphical user interface for Git

Git GUI allows you to use the [Git source control management
tools](https://git-scm.com/) via a GUI. This includes staging, committing,
adding, pushing, etc. It can also be used as a blame viewer, a tree browser,
and a citool (make exactly one commit before exiting and returning to shell).
More details about Git GUI can be found in its manual page by either running
`man git-gui`, or by visiting the [online manual
page](https://git-scm.com/docs/git-gui).

Git GUI was initially written by Shawn O. Pearce, and is distributed with the
standard Git installation.

# Building and installing

You need to have the following dependencies installed before you begin:

- Git
- Tcl
- Tk
- wish
- Gitk (needed for browsing history)
- msgfmt

Most of Git GUI is written in Tcl, so there is no compilation involved. Still,
some things do need to be done (mostly some substitutions), so you do need to
"build" it.

You can build Git GUI using:

```
make
```

And then install it using:

```
make install
```

You probably need to have root/admin permissions to install.

# Contributing

The project is currently maintained by Pratyush Yadav over at
https://github.com/prati0100/git-gui. Even though the project is hosted at
GitHub, the development does not happen over GitHub Issues and Pull Requests.
Instead, an email based workflow is used. The Git mailing list
[[email protected]](mailto:[email protected]) is where the patches are
discussed and reviewed.

More information about the Git mailing list and instructions to subscribe can
be found [here](https://git.wiki.kernel.org/index.php/GitCommunity).

## Sending your changes

Since the development happens over email, you need to send in your commits in
text format. Commits can be converted to emails via the two tools provided by
Git: `git-send-email` and `git-format-patch`.

You can use `git-format-patch` to generate patches in mbox format from your
commits that can then be sent via email. Let's say you are working on a branch
called 'foo' that was created on top of 'master'. You can run:

```
git format-patch -o output_dir master..foo
```

to convert all the extra commits in 'foo' into a set of patches saved in the
folder `output_dir`.

If you are sending multiple patches, it is recommended to include a cover
letter. A cover letter is an email explaining in brief what the series is
supposed to do. A cover letter template can be generated by passing
`--cover-letter` to `git-format-patch`.

After you send your patches, you might get a review suggesting some changes.
Make those changes, and re-send your patch(es) in reply to the first patch of
your initial version. Also please mention the version of the patch. This can be
done by passing `-v X` to `git-format-patch`, where 'X' is the version number
of the patch(es).

### Using git-send-email

You can use `git-send-email` to send patches generated via `git-format-patch`.
While you can directly send patches via `git-send-email`, it is recommended
that you first use `git-format-patch` to generate the emails, audit them, and
then send them via `git-send-email`.

A pretty good guide to configuring and using `git-send-email` can be found
[here](https://www.freedesktop.org/wiki/Software/PulseAudio/HowToUseGitSendEmail/)

### Using your email client

If your email client supports sending mbox format emails, you can use
`git-format-patch` to get an mbox file for each commit, and then send them. If
there is more than one patch in the series, then all patches after the first
patch (or the cover letter) need to be sent as replies to the first.
`git-send-email` does this by default.

### Using GitGitGadget

Since some people prefer a GitHub pull request based workflow, they can use
[GitGitGadget](https://gitgitgadget.github.io/) to send in patches. The tool
was originally written for sending patches to the Git project, but it now also
supports sending patches for git-gui.

Instructions for using GitGitGadget to send git-gui patches, courtesy of
Johannes Schindelin:

If you don't already have a fork of the [git/git](https://github.com/git/git)
repo, you need to make one. Then clone your fork:

```
git clone https://github.com/<your-username>/git
```

Then add GitGitGadget as a remote:

```
git remote add gitgitgadget https://github.com/gitgitgadget/git
```

Then fetch the git-gui branch:

```
git fetch gitgitgadget git-gui/master
```

Then create a new branch based on git-gui/master:

```
git checkout -b <your-branch-name> git-gui/master
```

Make whatever commits you need to, push them to your fork, and then head over
to https://github.com/gitgitgadget/git/pulls and open a Pull Request targeting
git-gui/master.

GitGitGadget will welcome you with a (hopefully) helpful message.

## Signing off

You need to sign off your commits before sending them to the list. You can do
that by passing the `-s` option to `git-commit`. You can also use the "Sign
Off" option in Git GUI.

A sign-off is a simple 'Signed-off-by: A U Thor \<[email protected]\>' line at
the end of the commit message, after your explanation of the commit.

A sign-off means that you are legally allowed to send the code, and it serves
as a certificate of origin. More information can be found at
[developercertificate.org](https://developercertificate.org/).

## Responding to review comments

It is quite likely your patches will get review comments. Those comments are
sent on the Git mailing list as replies to your patch, and you will usually be
Cc'ed in those replies.

You are expected to respond by either explaining your code further to convince
the reviewer what you are doing is correct, or acknowledge the comments and
re-send the patches with those comments addressed.

Some tips for those not familiar with communication on a mailing list:

- Use only plain text emails. No HTML at all.
- Wrap lines at around 75 characters.
- Do not send attachments. If you do need to send some files, consider using a
hosting service, and paste the link in your email.
- Do not [top post](http://www.idallen.com/topposting.html).
- Always "reply all". Keep all correspondents and the list in Cc. If you reply
directly to a reviewer, and not Cc the list, other people would not be able
to chime in.
3 changes: 3 additions & 0 deletions git-gui/git-gui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3604,6 +3604,9 @@ $ui_diff tag conf d_s- \
$ui_diff tag conf d< \
-foreground orange \
-font font_diffbold
$ui_diff tag conf d| \
-foreground orange \
-font font_diffbold
$ui_diff tag conf d= \
-foreground orange \
-font font_diffbold
Expand Down
33 changes: 18 additions & 15 deletions git-gui/lib/diff.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -270,19 +270,6 @@ proc show_other_diff {path w m cont_info} {
}
}

proc get_conflict_marker_size {path} {
set size 7
catch {
set fd_rc [eval [list git_read check-attr "conflict-marker-size" -- $path]]
set ret [gets $fd_rc line]
close $fd_rc
if {$ret > 0} {
regexp {.*: conflict-marker-size: (\d+)$} $line line size
}
}
return $size
}

proc start_show_diff {cont_info {add_opts {}}} {
global file_states file_lists
global is_3way_diff is_submodule_diff diff_active repo_config
Expand All @@ -298,7 +285,7 @@ proc start_show_diff {cont_info {add_opts {}}} {
set is_submodule_diff 0
set diff_active 1
set current_diff_header {}
set conflict_size [get_conflict_marker_size $path]
set conflict_size [gitattr $path conflict-marker-size 7]

set cmd [list]
if {$w eq $ui_index} {
Expand Down Expand Up @@ -360,6 +347,10 @@ proc start_show_diff {cont_info {add_opts {}}} {
}

set ::current_diff_inheader 1
# Detect pre-image lines of the diff3 conflict-style. They are just
# '++' lines which is not bijective. Thus, we need to maintain a state
# across lines.
set ::conflict_in_pre_image 0
fconfigure $fd \
-blocking 0 \
-encoding [get_path_encoding $path] \
Expand Down Expand Up @@ -462,11 +453,23 @@ proc read_diff {fd conflict_size cont_info} {
{--} {set tags d_--}
{++} {
set regexp [string map [list %conflict_size $conflict_size]\
{^\+\+([<>=]){%conflict_size}(?: |$)}]
{^\+\+([<>=|]){%conflict_size}(?: |$)}]
if {[regexp $regexp $line _g op]} {
set is_conflict_diff 1
set line [string replace $line 0 1 { }]
set tags d$op

# The ||| conflict-marker marks the start of the pre-image.
# All those lines are also prefixed with '++'. Thus we need
# to maintain this state.
set ::conflict_in_pre_image [expr {$op eq {|}}]
} elseif {$::conflict_in_pre_image} {
# This is a pre-image line. It is the one which both sides
# are based on. As it has also the '++' line start, it is
# normally shown as 'added'. Invert this to '--' to make
# it a 'removed' line.
set line [string replace $line 0 1 {--}]
set tags d_--
} else {
set tags d_++
}
Expand Down
9 changes: 5 additions & 4 deletions git-gui/po/ja.po
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
#
# しらいし ななこ <[email protected]>, 2007.
# Satoshi Yasushima <[email protected]>, 2016.
# KIDANI Akito <[email protected]>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-05-27 17:52+0900\n"
"PO-Revision-Date: 2016-06-22 12:50+0900\n"
"Last-Translator: Satoshi Yasushima <s.yasushima@gmail.com>\n"
"PO-Revision-Date: 2019-10-13 23:20+0900\n"
"Last-Translator: KIDANI Akito <a.kid.1985@gmail.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
Expand Down Expand Up @@ -661,7 +662,7 @@ msgstr ""
#: lib/merge.tcl:108
#, tcl-format
msgid "%s of %s"
msgstr "%s の %s ブランチ"
msgstr "%2$s の %1$s ブランチ"

#: lib/merge.tcl:122
#, tcl-format
Expand Down Expand Up @@ -956,7 +957,7 @@ msgstr "エラー: コマンドが失敗しました"
#: lib/checkout_op.tcl:85
#, tcl-format
msgid "Fetching %s from %s"
msgstr "%s から %s をフェッチしています"
msgstr "%2$s から %1$s をフェッチしています"

#: lib/checkout_op.tcl:133
#, tcl-format
Expand Down
Loading