A fork of Git containing Microsoft-specific patches.
Перейти к файлу
Tao Klerks 42943b950e mergetool: new config guiDefault supports auto-toggling gui by DISPLAY
When no merge.tool or diff.tool is configured or manually selected, the
selection of a default tool is sensitive to the DISPLAY variable; in a
GUI session a gui-specific tool will be proposed if found, and
otherwise a terminal-based one. This "GUI-optimizing" behavior is
important because a GUI can make a huge difference to a user's ability
to understand and correctly complete a non-trivial conflicting merge.

Some time ago the merge.guitool and diff.guitool config options were
introduced to enable users to configure both a GUI tool, and a non-GUI
tool (with fallback if no GUI tool configured), in the same environment.

Unfortunately, the --gui argument introduced to support the selection of
the guitool is still explicit. When using configured tools, there is no
equivalent of the no-tool-configured "propose a GUI tool if we are in a GUI
environment" behavior.

As proposed in <xmqqmtb8jsej.fsf@gitster.g>, introduce new configuration
options, difftool.guiDefault and mergetool.guiDefault, supporting a special
value "auto" which causes the corresponding tool or guitool to be selected
depending on the presence of a non-empty DISPLAY value. Also support "true"
to say "default to the guitool (unless --no-gui is passed on the
commandline)", and "false" as the previous default behavior when these new
configuration options are not specified.

Signed-off-by: Tao Klerks <tao@klerks.biz>
Acked-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-04-05 21:03:29 -07:00
.github Merge branch 'tb/ci-concurrency' into maint-2.39 2023-02-14 14:15:46 -08:00
Documentation mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
block-sha1
builtin mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
ci add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
compat cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
contrib Merge branch 'fc/completion-colors-do-not-need-prompt-command' 2023-03-28 10:51:52 -07:00
ewah alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
git-gui Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 2022-12-01 07:24:12 +09:00
gitk-git
gitweb
mergetools
negotiator Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
oss-fuzz treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
perl
po Merge branch 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po 2023-03-10 22:50:14 +08:00
refs ident.h: move ident-related declarations out of cache.h 2023-02-23 17:25:29 -08:00
reftable
sha1collisiondetection@855827c583
sha1dc
sha256
t mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
templates
trace2 dir.h: refactor to no longer need to include cache.h 2023-02-23 17:25:29 -08:00
xdiff xdiff: mark unused parameter in xdl_call_hunk_func() 2022-12-13 22:16:23 +09:00
.cirrus.yml
.clang-format
.editorconfig
.gitattributes .gitattributes: include `text` attribute for eol attributes 2023-02-06 13:57:08 -08:00
.gitignore add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
.gitmodules
.mailmap mailmap: update email address of Matheus Tavares 2022-12-10 09:17:36 +09:00
.tsan-suppressions
CODE_OF_CONDUCT.md
COPYING
GIT-VERSION-GEN Start the 2.41 cycle 2023-03-17 14:03:20 -07:00
INSTALL add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
LGPL-2.1
Makefile doc: remove GNU troff workaround 2023-03-21 13:16:46 -07:00
README.md
RelNotes Start the 2.41 cycle 2023-03-17 14:03:20 -07:00
SECURITY.md
abspath.c bundle: don't blindly apply prefix_filename() to "-" 2023-03-06 13:12:56 -08:00
aclocal.m4
add-interactive.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
add-interactive.h
add-patch.c Merge branch 'jk/add-p-unmerged-fix' 2023-03-19 15:03:13 -07:00
advice.c Merge branch 'fc/advice-diverged-history' 2023-03-19 15:03:13 -07:00
advice.h Merge branch 'fc/advice-diverged-history' 2023-03-19 15:03:13 -07:00
alias.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
alias.h
alloc.c object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
alloc.h alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
apply.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
apply.h
archive-tar.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
archive-zip.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
archive.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
archive.h archive: add --mtime 2023-02-18 09:29:13 -08:00
attr.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
attr.h attr: fix instructions on how to check attrs 2023-01-26 14:16:48 -08:00
banned.h
base85.c
bisect.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
bisect.h
blame.c Merge branch 'jk/blame-contents-with-arbitrary-commit' 2023-04-04 14:28:28 -07:00
blame.h object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
blob.c object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
blob.h blob: drop unused parts of parse_blob_buffer() 2022-12-13 22:16:22 +09:00
bloom.c
bloom.h
branch.c Merge branch 'rj/avoid-switching-to-already-used-branch' 2023-03-19 15:03:11 -07:00
branch.h
builtin.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
bulk-checkin.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
bulk-checkin.h
bundle-uri.c serve: use repository pointer to get config 2023-02-24 09:13:29 -08:00
bundle-uri.h clone: set fetch.bundleURI if appropriate 2023-01-31 08:57:48 -08:00
bundle.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
bundle.h
cache-tree.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
cache-tree.h object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
cache.h Merge branch 'jk/bundle-use-dash-for-stdfiles' 2023-03-19 15:03:12 -07:00
cbtree.c treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
cbtree.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
chdir-notify.c
chdir-notify.h
check-builtins.sh
checkout.c
checkout.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
chunk-format.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
chunk-format.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
color.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
color.h
column.c utf8: fix truncated string lengths in `utf8_strnwidth()` 2022-12-09 14:26:21 +09:00
column.h
combine-diff.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
command-list.txt
commit-graph.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
commit-graph.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
commit-reach.c Merge branch 'ew/commit-reach-clean-up-flags-fix' 2023-03-19 15:03:10 -07:00
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
commit-slab.h
commit.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
commit.h pretty.h: move has_non_ascii() declaration from commit.h 2023-02-23 17:25:29 -08:00
common-main.c
config.c config: tell the user that we expect an ASCII character 2023-03-27 13:09:38 -07:00
config.h config.h: remove unused git_configset_add_parameters() 2023-02-07 10:50:27 -08:00
config.mak.dev
config.mak.in
config.mak.uname Merge branch 'hj/remove-msys-support' 2023-02-09 14:40:47 -08:00
configure.ac
connect.c Merge branch 'jk/fix-proto-downgrade-to-v0' 2023-03-28 10:51:52 -07:00
connect.h Merge branch 'jk/fix-proto-downgrade-to-v0' 2023-03-28 10:51:52 -07:00
connected.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
connected.h
convert.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
convert.h
copy.c
credential.c Merge branch 'mc/credential-helper-www-authenticate' 2023-03-17 14:03:10 -07:00
credential.h Merge branch 'mc/credential-helper-www-authenticate' 2023-03-17 14:03:10 -07:00
csum-file.c hashfile: allow skipping the hash function 2023-01-07 07:46:14 +09:00
csum-file.h hashfile: allow skipping the hash function 2023-01-07 07:46:14 +09:00
ctype.c
daemon.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
date.c date.c: allow ISO 8601 reduced precision times 2023-01-13 11:49:04 -08:00
date.h
decorate.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
decorate.h
delta-islands.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
delta-islands.h delta-islands: free island_marks and bitmaps 2023-02-03 18:01:46 -08:00
delta.h
detect-compiler
diagnose.c Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
diagnose.h treewide: remove unnecessary inclusions of parse-options.h from headers 2023-03-20 11:55:18 -07:00
diff-delta.c
diff-lib.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
diff-merges.c object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
diff-merges.h
diff-no-index.c Remove unnecessary includes of builtin.h 2023-02-23 17:25:30 -08:00
diff.c Merge branch 'jk/format-patch-ignore-noprefix' 2023-03-21 14:18:55 -07:00
diff.h Merge branch 'jk/format-patch-ignore-noprefix' 2023-03-21 14:18:55 -07:00
diffcore-break.c
diffcore-delta.c object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
diffcore-order.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
diffcore-pickaxe.c pretty.h: move has_non_ascii() declaration from commit.h 2023-02-23 17:25:29 -08:00
diffcore-rename.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
diffcore-rotate.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
diffcore.h hash.h: move some oid-related declarations from cache.h 2023-02-23 17:25:28 -08:00
dir-iterator.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
dir-iterator.h dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS` 2023-02-16 16:21:56 -08:00
dir.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
dir.h Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
editor.c
entry.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
entry.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
environment.c replace-object.h: move read_replace_refs declaration from cache.h to here 2023-02-23 17:25:30 -08:00
environment.h
exec-cmd.c
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
fetch-pack.h
fmt-merge-msg.c Merge branch 'jc/gpg-lazy-init' 2023-03-17 14:03:10 -07:00
fmt-merge-msg.h
fsck.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
fsck.h object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
fsmonitor--daemon.h
fsmonitor-ipc.c
fsmonitor-ipc.h
fsmonitor-path-utils.h
fsmonitor-settings.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
fsmonitor-settings.h
fsmonitor.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
fsmonitor.h fsmonitor: avoid overriding `cache_changed` bits 2023-03-27 09:40:39 -07:00
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c
gettext.h
git-archimport.perl
git-compat-util.h Merge branch 'pe/time-use-gettimeofday' 2023-03-28 10:51:52 -07:00
git-curl-compat.h http: support CURLOPT_PROTOCOLS_STR 2023-02-06 09:27:09 +01:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
git-mergetool.sh mergetool: new config guiDefault supports auto-toggling gui by DISPLAY 2023-04-05 21:03:29 -07:00
git-p4.py
git-quiltimport.sh
git-request-pull.sh request-pull: filter out SSH/X.509 tag signatures 2023-01-25 15:54:41 -08:00
git-send-email.perl send-email: relay '-v N' to format-patch 2022-11-27 10:21:43 +09:00
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh Merge branch 'ss/pull-v-recurse-fix' 2022-12-28 12:06:17 +09:00
git-svn.perl
git-web--browse.sh
git.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
git.rc
gpg-interface.c Merge branch 'jc/gpg-lazy-init' 2023-03-17 14:03:10 -07:00
gpg-interface.h gpg-interface: lazily initialize and read the configuration 2023-02-09 17:01:27 -08:00
graph.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
graph.h
grep.c Merge branch 'mk/workaround-pcre-jit-ucp-bug' 2023-03-30 13:47:12 -07:00
grep.h grep: work around UTF-8 related JIT bug in PCRE2 <= 10.34 2023-03-23 11:19:34 -07:00
hash-lookup.c
hash-lookup.h
hash.h hash.h: move some oid-related declarations from cache.h 2023-02-23 17:25:28 -08:00
hashmap.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
hashmap.h hashmap.h: fix minor typo 2023-03-30 10:18:39 -07:00
help.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
help.h
hex.c hex.h: move some hex-related declarations from cache.h 2023-02-23 17:25:28 -08:00
hex.h hex.h: move some hex-related declarations from cache.h 2023-02-23 17:25:28 -08:00
hook.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
hook.h hook API: support passing stdin to hooks, convert am's 'post-rewrite' 2023-02-08 12:50:03 -08:00
http-backend.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
http-fetch.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
http-push.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
http-walker.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
http.c Merge branch 'mc/credential-helper-www-authenticate' 2023-03-17 14:03:10 -07:00
http.h Sync with 2.37.6 2023-02-06 09:43:28 +01:00
ident.c ident.h: move ident-related declarations out of cache.h 2023-02-23 17:25:29 -08:00
ident.h ident.h: move ident-related declarations out of cache.h 2023-02-23 17:25:29 -08:00
imap-send.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
iterator.h
json-writer.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
json-writer.h
khash.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
kwset.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
kwset.h
levenshtein.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
levenshtein.h
line-log.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
line-log.h hash.h: move some oid-related declarations from cache.h 2023-02-23 17:25:28 -08:00
line-range.c line-range: fix infinite loop bug with '$' regex 2022-12-20 10:00:43 +09:00
line-range.h
linear-assignment.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
linear-assignment.h
list-objects-filter-options.c Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
list-objects-filter-options.h Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
list-objects-filter.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
list-objects-filter.h
list-objects.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
list-objects.h
list.h
ll-merge.c attr: add flag `--source` to work with tree-ish 2023-01-14 08:49:55 -08:00
ll-merge.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
log-tree.h
ls-refs.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
ls-refs.h
mailinfo.c hex.h: move some hex-related declarations from cache.h 2023-02-23 17:25:28 -08:00
mailinfo.h
mailmap.c
mailmap.h
match-trees.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
mem-pool.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
mem-pool.h
merge-blobs.c object-store.h: move struct object_info from cache.h 2023-02-23 17:25:29 -08:00
merge-blobs.h
merge-ort-wrappers.c
merge-ort-wrappers.h
merge-ort.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
merge-ort.h
merge-recursive.c Remove unnecessary includes of builtin.h 2023-02-23 17:25:30 -08:00
merge-recursive.h
merge.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
mergesort.h
midx.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
midx.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
notes-merge.h
notes-utils.c
notes-utils.h
notes.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
notes.h
object-file.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
object-name.c Merge branch 'fc/oid-quietly-parse-upstream' 2023-03-28 10:51:52 -07:00
object-store.h object-store.h: move struct object_info from cache.h 2023-02-23 17:25:29 -08:00
object.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
object.h object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
oid-array.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
oid-array.h
oidmap.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
oidmap.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
oidset.c hex.h: move some hex-related declarations from cache.h 2023-02-23 17:25:28 -08:00
oidset.h
oidtree.c treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
oidtree.h
pack-bitmap-write.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
pack-bitmap.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
pack-bitmap.h
pack-check.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
pack-mtimes.c
pack-mtimes.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
pack-objects.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
pack.h
packfile.c Merge branch 'ds/reprepare-alternates-when-repreparing-packfiles' 2023-03-19 15:03:12 -07:00
packfile.h
pager.c
parallel-checkout.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
parallel-checkout.h
parse-options-cb.c
parse-options.c Merge branch 'jk/bundle-use-dash-for-stdfiles' 2023-03-19 15:03:12 -07:00
parse-options.h parse-options.h: use designated initializers in OPT_* macros 2023-03-20 12:04:07 -07:00
patch-delta.c
patch-ids.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
patch-ids.h
path.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
path.h
pathspec.c docs & comments: replace mentions of "git-add--interactive.perl" 2023-02-06 15:03:34 -08:00
pathspec.h dir.h: refactor to no longer need to include cache.h 2023-02-23 17:25:29 -08:00
pkt-line.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
pkt-line.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
preload-index.c
pretty.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
pretty.h pretty.h: move has_non_ascii() declaration from commit.h 2023-02-23 17:25:29 -08:00
prio-queue.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
prio-queue.h
progress.c mark unused parameters in signal handlers 2023-02-24 09:13:30 -08:00
progress.h
promisor-remote.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
promisor-remote.h
prompt.c
prompt.h
protocol-caps.c object-store.h: move struct object_info from cache.h 2023-02-23 17:25:29 -08:00
protocol-caps.h
protocol.c
protocol.h
prune-packed.c treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
prune-packed.h
quote.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
quote.h
range-diff.c range-diff: avoid compiler warning when char is unsigned 2023-02-28 14:43:05 -08:00
range-diff.h
reachable.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
reachable.h
read-cache.c Merge branch 'js/split-index-fixes' 2023-04-04 14:28:27 -07:00
rebase-interactive.c
rebase-interactive.h
rebase.c treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
rebase.h
ref-filter.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
ref-filter.h treewide: remove unnecessary inclusions of parse-options.h from headers 2023-03-20 11:55:18 -07:00
reflog-walk.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
reflog-walk.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
reflog.c Merge branch 'rs/reflog-expiry-cleanup' into maint-2.39 2023-02-14 14:15:56 -08:00
reflog.h
refs.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
refs.h ls-refs: use repository parameter to iterate refs 2022-12-13 22:16:22 +09:00
refspec.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
refspec.h
remote-curl.c Merge branch 'jk/fix-proto-downgrade-to-v0' 2023-03-28 10:51:52 -07:00
remote.c Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
remote.h Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
replace-object.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
replace-object.h replace-object.h: move read_replace_refs declaration from cache.h to here 2023-02-23 17:25:30 -08:00
repo-settings.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
repository.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
repository.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
rerere.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
rerere.h
reset.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
reset.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
revision.h Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
run-command.c run-command: mark error routine parameters as unused 2023-02-24 09:13:30 -08:00
run-command.h
scalar.c scalar: only warn when background maintenance fails 2023-01-27 12:38:26 -08:00
send-pack.c Merge branch 'sg/parse-options-h-users' 2023-03-30 13:47:11 -07:00
send-pack.h
sequencer.c Merge branch 'ob/sequencer-save-head-simplify' 2023-04-04 14:28:29 -07:00
sequencer.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
serve.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
serve.h
server-info.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
setup.c
sh-i18n--envsubst.c
sha1dc_git.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
sha1dc_git.h
shallow.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
shallow.h object.h: stop depending on cache.h; make cache.h depend on object.h 2023-02-23 17:25:29 -08:00
shared.mak Merge branch 'ab/gnumake-4.4-fix' 2022-12-01 18:38:07 +09:00
shell.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
shortlog.h
sideband.c
sideband.h
sigchain.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
sigchain.h
simple-ipc.h
sparse-index.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
sparse-index.h
split-index.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
split-index.h
stable-qsort.c
statinfo.h dir.h: refactor to no longer need to include cache.h 2023-02-23 17:25:29 -08:00
strbuf.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
strbuf.h strbuf: introduce strbuf_strip_file_from_path() 2022-12-25 16:24:24 +09:00
streaming.c streaming: inline call to read_object_file_extended() 2023-01-08 10:52:54 +09:00
streaming.h
string-list.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
string-list.h
strmap.c
strmap.h
strvec.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
strvec.h
sub-process.c treewide: ensure one of the appropriate headers is sourced first 2023-02-23 17:25:28 -08:00
sub-process.h treewide: remove unnecessary git-compat-util.h includes in headers 2023-02-23 17:25:28 -08:00
submodule-config.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
submodule-config.h hash.h: move some oid-related declarations from cache.h 2023-02-23 17:25:28 -08:00
submodule.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
submodule.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
symlinks.c
tag.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c trace.c, git.c: remove unnecessary parameter to trace_repo_setup() 2023-02-21 12:06:32 -08:00
trace.h Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
trace2.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
trace2.h
trailer.c alloc.h: move ALLOC_GROW() functions from cache.h 2023-02-23 17:25:28 -08:00
trailer.h
transport-helper.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
transport-internal.h clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
transport.c Merge branch 'jk/fix-proto-downgrade-to-v0' 2023-03-28 10:51:52 -07:00
transport.h clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
tree-diff.c
tree-walk.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
tree-walk.h hash.h: move some oid-related declarations from cache.h 2023-02-23 17:25:28 -08:00
tree.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
tree.h
unicode-width.h unicode: update the width tables to Unicode 15 2023-03-30 13:06:12 -07:00
unimplemented.sh
unix-socket.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
unix-socket.h
unix-stream-server.c treewide: remove unnecessary cache.h includes in source files 2023-02-23 17:25:28 -08:00
unix-stream-server.h
unpack-trees.c Merge branch 'js/split-index-fixes' 2023-04-04 14:28:27 -07:00
unpack-trees.h unpack-trees: add usage notices around df_conflict_entry 2023-02-27 08:29:51 -08:00
upload-pack.c Merge branch 'jk/unused-post-2.39-part2' 2023-03-17 14:03:09 -07:00
upload-pack.h
url.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
url.h
urlmatch.c treewide: replace cache.h with more direct headers, where possible 2023-02-23 17:25:30 -08:00
urlmatch.h
usage.c
userdiff.c Merge branch 'en/header-cleanup' 2023-03-17 14:03:09 -07:00
userdiff.h diff: teach diff to read algorithm from diff driver 2023-02-21 09:29:10 -08:00
utf8.c Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
utf8.h Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
walker.h
wildmatch.c Merge branch 'pw/wildmatch-fixes' 2023-04-04 14:28:27 -07:00
wildmatch.h wildmatch: hide internal return values 2023-03-20 10:58:53 -07:00
worktree.c Merge branch 'rj/avoid-switching-to-already-used-branch' 2023-03-19 15:03:11 -07:00
worktree.h Merge branch 'rj/avoid-switching-to-already-used-branch' 2023-03-19 15:03:11 -07:00
wrap-for-bin.sh
wrapper.c
write-or-die.c
ws.c Merge branch 'kn/attr-from-tree' 2023-01-23 13:39:51 -08:00
wt-status.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
wt-status.h
xdiff-interface.c cache.h: remove dependence on hex.h; make other files include it explicitly 2023-02-23 17:25:29 -08:00
xdiff-interface.h treewide: remove unnecessary cache.h includes 2023-02-23 17:25:28 -08:00
zlib.c

README.md

Build status

Git - fast, scalable, distributed revision control system

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-<commandname>.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>.

CVS users may also want to read Documentation/gitcvs-migration.txt (man gitcvs-migration or git help cvs-migration if git is installed).

The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission and Documentation/CodingGuidelines).

Those wishing to help with error message, usage and informational message string translations (localization l10) should see po/README.md (a po file is a Portable Object file that holds the translations).

To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org (not the Git list). The mailing list archives are available at https://lore.kernel.org/git/, http://marc.info/?l=git and other archival sites.

Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.

The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):

  • random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
  • stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
  • "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
  • "goddamn idiotic truckload of sh*t": when it breaks