Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Johannes Schindelin 08d383f23e interactive: refactor code asking the user for interactive input
There are quite a few code locations (e.g. `git clean --interactive`)
where Git asks the user for an answer. In preparation for fixing a bug
shared by all of them, and also to DRY up the code, let's refactor it.

Please note that most of these callers trimmed white-space both at the
beginning and at the end of the answer, instead of trimming only the
end (as the caller in `add-patch.c` does).

Therefore, technically speaking, we change behavior in this patch. At
the same time, it can be argued that this is actually a bug fix.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-04-10 10:26:31 -07:00
.github
block-sha1
builtin interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
ci Merge branch 'yz/p4-py3' 2020-03-25 13:57:43 -07:00
compat Merge branch 'js/mingw-open-in-gdb' into maint 2020-03-17 15:02:25 -07:00
contrib Merge branch 'kk/complete-diff-color-moved' 2020-03-09 11:21:20 -07:00
Documentation Merge branch 'ds/default-pack-use-sparse-to-true' 2020-03-29 09:32:51 -07:00
ewah Merge branch 'jk/object-filter-with-bitmap' 2020-03-02 15:07:18 -08:00
git-gui Merge https://github.com/prati0100/git-gui 2020-03-19 16:06:51 -07:00
gitk-git
gitweb Merge branch 'do/gitweb-typofix-in-comments' 2020-01-08 12:44:11 -08:00
mergetools mergetools: add support for smerge (Sublime Merge) 2019-04-04 18:21:25 +09:00
negotiator Merge branch 'jt/fetch-negotiator-skipping' 2018-08-02 15:30:46 -07:00
perl Fix spelling errors in documentation outside of Documentation/ 2019-11-07 13:42:00 +09:00
po l10n: tr.po: change file mode to 644 2020-03-21 18:26:56 +08:00
ppc *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
refs C: use skip_prefix() to avoid hardcoded string length 2020-01-31 13:03:45 -08:00
sha1collisiondetection@855827c583
sha1dc Merge branch 'jk/lore-is-the-archive' 2019-12-06 15:09:23 -08:00
sha256 hash: implement and use a context cloning function 2020-02-24 09:33:21 -08:00
t Merge branch 'ds/default-pack-use-sparse-to-true' 2020-03-29 09:32:51 -07:00
templates Merge branch 'kw/fsmonitor-watchman-racefix' 2020-02-14 12:54:20 -08:00
trace2 Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
vcs-svn
xdiff Merge branch 'rs/xdiff-ignore-ws-w-func-context' 2019-12-16 13:08:32 -08:00
.cirrus.yml CI: add FreeBSD CI support via Cirrus-CI 2019-12-20 12:09:12 -08:00
.clang-format
.editorconfig editorconfig: indent text files with tabs 2020-01-06 08:46:32 -08:00
.gitattributes
.gitignore stash: remove the stash.useBuiltin setting 2020-03-05 12:50:28 -08:00
.gitmodules
.mailmap Merge branch 'bc/wildcard-credential' 2020-03-05 10:43:02 -08:00
.travis.yml
.tsan-suppressions replace-object: make replace operations thread-safe 2020-01-17 13:52:14 -08:00
abspath.c real_path_if_valid(): remove unsafe API 2020-03-10 11:41:40 -07:00
aclocal.m4
add-interactive.c interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
add-interactive.h built-in add -p: respect the interactive.singlekey config setting 2020-01-15 12:06:17 -08:00
add-patch.c interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
advice.c Merge branch 'hw/advise-ng' 2020-03-25 13:57:41 -07:00
advice.h Merge branch 'hw/advise-ng' 2020-03-25 13:57:41 -07:00
alias.c alias.c: mark split_cmdline_strerror() strings for translation 2018-11-12 14:47:09 +09:00
alias.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
alloc.c object_as_type: initialize commit-graph-related fields of 'struct commit' 2019-01-27 16:55:57 -08:00
alloc.h object_as_type: initialize commit-graph-related fields of 'struct commit' 2019-01-27 16:55:57 -08:00
apply.c convert: permit passing additional metadata to filter processes 2020-03-16 11:37:02 -07:00
apply.h
archive-tar.c streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
archive-zip.c streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
archive.c convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
archive.h convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
argv-array.c argv-array: add space after while 2019-11-20 13:29:02 +09:00
argv-array.h argv-array: move doc to argv-array.h 2019-11-18 15:21:29 +09:00
attr.c attr: move doc to attr.h 2019-11-18 15:21:28 +09:00
attr.h attr: move doc to attr.h 2019-11-18 15:21:28 +09:00
azure-pipelines.yml Azure Pipeline: switch to the latest agent pools 2020-02-27 09:58:43 -08:00
banned.h banned.h: fix vsprintf()'s ban message 2019-08-26 10:32:45 -07:00
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c bisect: libify bisect_next_all 2020-02-19 09:37:15 -08:00
bisect.h bisect: libify bisect_next_all 2020-02-19 09:37:15 -08:00
blame.c Merge branch 'ew/hashmap' 2019-10-15 13:48:02 +09:00
blame.h blame: provide type of fingerprints pointer 2020-02-24 12:08:48 -08:00
blob.c object: convert create_object() to use object_id 2019-06-20 10:20:51 -07:00
blob.h
branch.c Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
branch.h
builtin.h sparse-checkout: create builtin with 'list' subcommand 2019-11-22 16:11:43 +09:00
bulk-checkin.c
bulk-checkin.h
bundle.c bundle-create: progress output control 2019-11-11 11:46:28 +09:00
bundle.h bundle-create: progress output control 2019-11-11 11:46:28 +09:00
cache-tree.c sha1-file: pass git_hash_algo to hash_object_file() 2020-01-31 10:45:39 -08:00
cache-tree.h cache-tree: share code between functions writing an index as a tree 2019-08-19 10:08:03 -07:00
cache.h Merge branch 'bc/filter-process' 2020-03-26 17:11:20 -07:00
chdir-notify.c add chdir-notify API 2018-03-30 12:49:57 -07:00
chdir-notify.h add chdir-notify API 2018-03-30 12:49:57 -07:00
check_bindir
check-builtins.sh
checkout.c
checkout.h
CODE_OF_CONDUCT.md CODE_OF_CONDUCT: mention individual project-leader emails 2019-10-10 10:41:46 +09:00
color.c color.c: alias RGB colors 8-15 to aixterm colors 2020-02-11 11:19:00 -08:00
color.h
column.c
column.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
combine-diff.c combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo 2019-08-19 15:04:58 -07:00
command-list.txt Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
commit-graph.c Merge branch 'rs/commit-graph-code-simplification' 2020-03-05 10:43:04 -08:00
commit-graph.h commit-graph.h: use odb in 'load_commit_graph_one_fd_st' 2020-02-04 11:36:51 -08:00
commit-reach.c commit-graph: fix writing first commit-graph during fetch 2019-10-25 11:19:16 +09:00
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h commit-slabs: move MAYBE_UNUSED out 2018-10-24 14:52:50 +09:00
commit-slab.h commit-slab: clarify slabname##_peek()'s return value 2020-03-10 11:44:24 -07:00
commit.c Merge branch 'at/rebase-fork-point-regression-fix' 2020-03-26 17:11:21 -07:00
commit.h gpg-interface: add minTrustLevel as a configuration option 2020-01-15 14:06:06 -08:00
common-main.c
config.c Merge branch 'bw/remote-rename-update-config' 2020-02-25 11:18:32 -08:00
config.h config: provide access to the current line number 2020-02-10 10:52:10 -08:00
config.mak.dev Merge branch 'bc/sha-256-part-1-of-4' 2020-03-26 17:11:20 -07:00
config.mak.in
config.mak.uname Sync with 2.23.1 2019-12-06 16:31:39 +01:00
configure.ac Merge branch 'dd/sequencer-utf8' 2019-12-01 09:04:36 -08:00
connect.c Sync with 2.23.1 2019-12-06 16:31:39 +01:00
connect.h
connected.c connected.c: reprepare packs for corner cases 2020-03-15 15:39:00 -07:00
connected.h connected: verify promisor-ness of partial clone 2020-01-30 10:55:31 -08:00
convert.c convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
convert.h convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c credential: allow wildcard patterns when matching config 2020-02-20 13:05:43 -08:00
credential.h Merge branch 'bc/wildcard-credential' 2020-03-05 10:43:02 -08:00
csum-file.c hash: implement and use a context cloning function 2020-02-24 09:33:21 -08:00
csum-file.h csum-file: introduce hashfile_total() 2020-01-23 10:51:50 -08:00
ctype.c
daemon.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
date.c date.c: switch to reentrant {gm,local}time_r 2019-11-30 13:50:48 -08:00
decorate.c hashmap: convert sha1hash() to oidhash() 2019-06-20 10:44:22 -07:00
decorate.h
delta-islands.c
delta-islands.h delta-islands: respect progress flag 2019-06-20 13:29:49 -07:00
delta.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
detect-compiler Makefile: detect compiler and enable more warnings in DEVELOPER=1 2018-04-16 13:54:53 +09:00
diff-delta.c diff-delta: set size out-parameter to 0 for NULL delta 2019-09-06 11:03:39 -07:00
diff-lib.c
diff-no-index.c Merge branch 'nd/diff-parseopt-4' 2019-04-25 16:41:12 +09:00
diff.c convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
diff.h Merge branch 'hw/doc-in-header' 2019-12-16 13:08:39 -08:00
diffcore-break.c
diffcore-delta.c diff.c: reduce implicit dependency on the_index 2018-09-21 09:48:10 -07:00
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c sha1-file: pass git_hash_algo to hash_object_file() 2020-01-31 10:45:39 -08:00
diffcore.h diff: move doc to diff.h and diffcore.h 2019-11-18 15:21:28 +09:00
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'ds/sparse-add' 2020-03-05 10:43:02 -08:00
dir.h Merge branch 'ds/sparse-cone' 2019-12-25 11:21:58 -08:00
editor.c real_path: remove unsafe API 2020-03-10 11:41:40 -07:00
entry.c convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
environment.c real_path: remove unsafe API 2020-03-10 11:41:40 -07:00
exec-cmd.c
exec-cmd.h *.[ch]: remove extern from function declarations using sed 2019-05-05 15:20:08 +09:00
fast-import.c fast-import: add options for rewriting submodules 2020-02-28 09:53:41 -08:00
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c Merge branch 'ec/fetch-mark-common-refs-trace2' 2019-12-05 12:52:44 -08:00
fetch-pack.h fetch_pack(): drop unused parameters 2019-03-20 18:34:09 +09:00
fmt-merge-msg.h
fsck.c Sync with Git 2.24.1 2019-12-09 22:17:55 -08:00
fsck.h fsck: only provide oid/type in fsck_error callback 2019-10-28 14:05:18 +09:00
fsmonitor.c fsmonitor: handle version 2 of the hooks that will use opaque token 2020-01-13 14:58:43 -08:00
fsmonitor.h
fuzz-commit-graph.c
fuzz-pack-headers.c fuzz: add basic fuzz testing target. 2018-10-15 14:28:59 +09:00
fuzz-pack-idx.c fuzz: add fuzz testing for packfile indices. 2018-10-15 14:29:03 +09:00
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl git add -p: use non-zero exit code when the diff generation failed 2019-12-06 08:57:34 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Sync with Git 2.24.1 2019-12-09 22:17:55 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl Fix spelling errors in messages shown to users 2019-11-10 16:00:54 +09:00
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh Recommend git-filter-repo instead of git-filter-branch 2019-09-05 13:01:48 -07:00
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh scripts: use "git foo" not "git-foo" 2017-08-07 12:04:45 -07:00
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py Merge branch 'yz/p4-py3' 2020-03-25 13:57:43 -07:00
git-parse-remote.sh i18n: git-parse-remote.sh: mark strings for translation 2016-04-19 12:07:49 -07:00
git-quiltimport.sh git-quiltimport: add --keep-non-patch option 2019-01-07 15:29:34 -08:00
git-rebase--preserve-merges.sh
git-request-pull.sh
git-send-email.perl Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh Merge branch 'es/recursive-single-branch-clone' 2020-03-05 10:43:03 -08:00
git-svn.perl git svn: stop using rebase --preserve-merges 2019-11-23 09:49:23 +09:00
GIT-VERSION-GEN The first batch post 2.26 cycle 2020-03-25 13:57:44 -07:00
git-web--browse.sh git-web--browse.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git.c stash: remove the stash.useBuiltin setting 2020-03-05 12:50:28 -08:00
git.rc
gpg-interface.c gpg-interface: prefer check_signature() for GPG verification 2020-03-15 09:46:28 -07:00
gpg-interface.h gpg-interface: prefer check_signature() for GPG verification 2020-03-15 09:46:28 -07:00
graph.c graph: fix collapse of multiple edges 2020-01-15 12:14:51 -08:00
graph.h graph: move doc to graph.h and graph.c 2019-11-18 15:21:28 +09:00
grep.c grep: replace grep_read_mutex by internal obj read lock 2020-01-17 13:52:14 -08:00
grep.h grep: replace grep_read_mutex by internal obj read lock 2020-01-17 13:52:14 -08:00
hash.h hash: implement and use a context cloning function 2020-02-24 09:33:21 -08:00
hashmap.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
hashmap.h Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
help.c Fix spelling errors in messages shown to users 2019-11-10 16:00:54 +09:00
help.h
hex.c hex: add functions to parse hex object IDs in any algorithm 2020-02-24 09:33:21 -08:00
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c Merge branch 'js/https-proxy-config' 2020-03-25 13:57:42 -07:00
http.h
ident.c
imap-send.c Merge branch 'nd/imap-send-typofix' 2019-02-12 09:00:25 -08:00
INSTALL Merge branch 'ar/install-doc-update-cmds-needing-the-shell' 2019-12-01 09:04:41 -08:00
interdiff.c interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
interdiff.h interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h kset.h, tar.h: add missing header guard to prevent multiple inclusion 2019-11-07 20:12:04 +09:00
levenshtein.c
levenshtein.h Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
LGPL-2.1
line-log.c
line-log.h
line-range.c line-range.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
line-range.h line-range.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
linear-assignment.c
linear-assignment.h linear-assignment: a function to solve least-cost assignment problems 2018-08-13 10:44:50 -07:00
list-objects-filter-options.c Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
list-objects-filter-options.h Merge branch 'jk/partial-clone-sparse-blob' 2019-10-07 11:32:54 +09:00
list-objects-filter.c
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c
ll-merge.h merge: move doc to ll-merge.h 2019-11-18 15:21:28 +09:00
lockfile.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
lockfile.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
log-tree.c Merge branch 'hi/gpg-prefer-check-signature' 2020-03-26 17:11:20 -07:00
log-tree.h format-patch: make cover letters always text/plain 2018-05-02 12:55:00 +09:00
ls-refs.c
ls-refs.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
mailinfo.c Merge branch 'rs/micro-cleanups' 2020-03-02 15:07:20 -08:00
mailinfo.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
mailmap.c
mailmap.h
Makefile Merge branch 'tg/retire-scripted-stash' 2020-03-26 17:11:21 -07:00
match-trees.c
mem-pool.c
mem-pool.h block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c convert: permit passing additional metadata to filter processes 2020-03-16 11:37:02 -07:00
merge-recursive.h
merge.c builtin/checkout: compute checkout metadata for checkouts 2020-03-16 11:37:02 -07:00
mergesort.c
mergesort.h
midx.c nth_packed_object_oid(): use customary integer return 2020-02-24 12:55:42 -08:00
midx.h midx: add MIDX_PROGRESS flag 2019-10-23 12:05:05 +09:00
name-hash.c Merge branch 'en/doc-typofix' 2019-12-01 09:04:35 -08:00
notes-cache.c
notes-cache.h
notes-merge.c notes-merge: switch to use the_hash_algo 2019-04-01 11:57:37 +09:00
notes-merge.h
notes-utils.c strbuf: add and use strbuf_insertstr() 2020-02-10 09:04:45 -08:00
notes-utils.h
notes.c Merge branch 'jh/notes-fanout-fix' into maint 2020-03-17 15:02:22 -07:00
notes.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
object-store.h packed_object_info(): use object_id for returning delta base 2020-02-24 12:55:53 -08:00
object.c Merge branch 'jk/object-filter-with-bitmap' 2020-03-02 15:07:18 -08:00
object.h pack-bitmap: fix leak of haves/wants object lists 2020-02-13 09:08:58 -08:00
oidmap.c
oidmap.h hashmap: use *_entry APIs for iteration 2019-10-07 10:20:11 +09:00
oidset.c Merge branch 'br/blame-ignore' 2019-07-19 11:30:20 -07:00
oidset.h Merge branch 'en/oidset-uninclude-hashmap' 2020-03-25 13:57:44 -07:00
pack-bitmap-write.c
pack-bitmap.c Merge branch 'jk/nth-packed-object-id' 2020-03-05 10:43:03 -08:00
pack-bitmap.h Merge branch 'jk/object-filter-with-bitmap' 2020-03-02 15:07:18 -08:00
pack-check.c pack-check: push oid lookup into loop 2020-02-24 12:55:53 -08:00
pack-objects.c pack-objects: convert oe_set_delta_ext() to use object_id 2020-02-24 12:55:52 -08:00
pack-objects.h pack-objects: convert oe_set_delta_ext() to use object_id 2020-02-24 12:55:52 -08:00
pack-revindex.c pack-revindex: open index if necessary 2019-04-16 16:58:21 +09:00
pack-revindex.h pack-revindex: open index if necessary 2019-04-16 16:58:21 +09:00
pack-write.c
pack.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
packfile.c packfile: drop nth_packed_object_sha1() 2020-02-24 12:55:53 -08:00
packfile.h packfile: drop nth_packed_object_sha1() 2020-02-24 12:55:53 -08:00
pager.c pager: add a helper function to clear the last line in the terminal 2019-06-24 13:38:46 -07:00
parse-options-cb.c parse-options: simplify parse_options_dup() 2020-02-10 09:45:49 -08:00
parse-options.c Merge branch 'pb/am-show-current-patch' 2020-03-09 11:21:19 -07:00
parse-options.h Merge branch 'pb/am-show-current-patch' 2020-03-09 11:21:19 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'bc/sha-256-part-1-of-4' 2020-03-26 17:11:20 -07:00
path.h path: add a function to check for path suffix 2019-08-26 10:36:13 -07:00
pathspec.c prefix_path: show gitdir if worktree unavailable 2020-03-15 09:35:46 -07:00
pathspec.h Merge branch 'hw/doc-in-header' 2019-12-16 13:08:39 -08:00
pkt-line.c
pkt-line.h pkt-line: fix a typo 2019-12-02 08:48:56 -08:00
preload-index.c mark_fsmonitor_valid(): mark the index as changed if needed 2019-05-28 12:43:43 -07:00
pretty.c Merge branch 'rs/strbuf-insertstr' 2020-02-17 13:22:17 -08:00
pretty.h
prio-queue.c prio-queue: add 'peek' operation 2018-11-02 12:14:21 +09:00
prio-queue.h
progress.c progress: create GIT_PROGRESS_DELAY 2019-11-27 10:57:10 +09:00
progress.h
promisor-remote.c promisor-remote: remove fetch_if_missing=0 2019-11-13 11:50:58 +09:00
promisor-remote.h Merge branch 'dl/honor-cflags-in-hdr-check' 2019-10-07 11:33:02 +09:00
prompt.c interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
prompt.h interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
protocol.c fetch: default to protocol version 2 2020-01-15 14:03:55 -08:00
protocol.h
quote.c quote: use isalnum() to check for alphanumeric characters 2020-02-24 09:30:29 -08:00
quote.h
range-diff.c range-diff: mark pointers as const 2019-12-06 12:34:49 -08:00
range-diff.h Merge branch 'dl/range-diff-with-notes' 2019-12-16 13:08:46 -08:00
reachable.c pack-bitmap: basic noop bitmap filter infrastructure 2020-02-14 10:46:22 -08:00
reachable.h
read-cache.c Merge branch 'js/mingw-loosen-overstrict-tree-entry-checks' 2020-01-10 14:45:27 -08:00
README.md doc: recommend lore.kernel.org over public-inbox.org 2019-11-30 09:12:04 -08:00
rebase-interactive.c Merge branch 'rt/format-zero-length-fix' 2020-03-09 11:21:21 -07:00
rebase-interactive.h Merge branch 'en/rebase-backend' 2020-03-02 15:07:19 -08:00
rebase.c pull --rebase/remote rename: document and honor single-letter abbreviations rebase types 2020-02-10 10:52:10 -08:00
rebase.h pull --rebase/remote rename: document and honor single-letter abbreviations rebase types 2020-02-10 10:52:10 -08:00
ref-filter.c Merge branch 'dr/push-remote-ref-update' 2020-03-11 10:58:16 -07:00
ref-filter.h parse_opt_ref_sorting: always use with NONEG flag 2019-03-21 12:03:35 +09:00
reflog-walk.c
reflog-walk.h
refs.c hashmap_entry: remove first member requirement from docs 2019-10-07 10:20:12 +09:00
refs.h refs: move doc to refs.h 2019-11-18 15:21:28 +09:00
refspec.c
refspec.h remote: move doc to remote.h and refspec.h 2019-11-18 15:21:28 +09:00
RelNotes The first batch post 2.26 cycle 2020-03-25 13:57:44 -07:00
remote-curl.c Merge branch 'rs/show-progress-in-dumb-http-fetch' 2020-03-09 11:21:21 -07:00
remote-testsvn.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
remote.c remote: drop "explicit" parameter from remote_ref_for_branch() 2020-03-03 14:56:05 -08:00
remote.h remote: drop "explicit" parameter from remote_ref_for_branch() 2020-03-03 14:56:05 -08:00
replace-object.c replace-object: make replace operations thread-safe 2020-01-17 13:52:14 -08:00
replace-object.h replace-object: make replace operations thread-safe 2020-01-17 13:52:14 -08:00
repo-settings.c config: set pack.useSparse=true by default 2020-03-20 14:22:31 -07:00
repository.c repository: require a build flag to use SHA-256 2020-02-24 09:33:21 -08:00
repository.h Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
rerere.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
revision.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
run-command.c Merge branch 'bc/run-command-nullness-after-free-fix' into maint 2020-02-14 12:42:27 -08:00
run-command.h run-command.h: fix mis-indented struct member 2020-02-22 09:05:34 -08:00
send-pack.c Merge branch 'jk/send-pack-check-negative-with-quick' 2019-12-06 15:09:22 -08:00
send-pack.h
sequencer.c Merge branch 'bc/filter-process' 2020-03-26 17:11:20 -07:00
sequencer.h Merge branch 'pw/advise-rebase-skip' 2020-03-25 13:57:43 -07:00
serve.c
serve.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
server-info.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
setup.c Merge branch 'bc/sha-256-part-1-of-4' 2020-03-26 17:11:20 -07:00
sh-i18n--envsubst.c
sha1-array.c sha1-array: move doc to sha1-array.h 2019-11-18 15:21:28 +09:00
sha1-array.h sha1-array: move doc to sha1-array.h 2019-11-18 15:21:28 +09:00
sha1-file.c Merge branch 'bc/sha-256-part-1-of-4' 2020-03-26 17:11:20 -07:00
sha1-lookup.c
sha1-lookup.h
sha1-name.c nth_packed_object_oid(): use customary integer return 2020-02-24 12:55:42 -08:00
sha1dc_git.c hex: drop sha1_to_hex() 2019-11-13 10:09:10 +09:00
sha1dc_git.h sha1dc_git.h: re-arrange an ifdef chain for a subsequent change 2017-12-08 15:01:01 -08:00
shallow.c Merge branch 'rs/dedup-includes' 2019-10-11 14:24:48 +09:00
shell.c interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h sigchain: move doc to sigchain.h 2019-11-18 15:21:29 +09:00
split-index.c
split-index.h
stable-qsort.c
strbuf.c credential: allow wildcard patterns when matching config 2020-02-20 13:05:43 -08:00
strbuf.h Merge branch 'bc/wildcard-credential' 2020-03-05 10:43:02 -08:00
streaming.c streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
streaming.h streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
string-list.c style: the opening '{' of a function is in a separate line 2018-12-10 15:41:09 +09:00
string-list.h Merge branch 'en/string-list-can-be-custom-sorted' into maint 2020-02-14 12:42:27 -08:00
sub-process.c
sub-process.h hashmap_entry: remove first member requirement from docs 2019-10-07 10:20:12 +09:00
submodule-config.c Merge branch 'mr/show-config-scope' 2020-02-17 13:22:17 -08:00
submodule-config.h submodule-config: add skip_if_read option to repo_read_gitmodules() 2020-01-17 13:52:14 -08:00
submodule.c get_superproject_working_tree(): return strbuf 2020-03-10 11:41:40 -07:00
submodule.h get_superproject_working_tree(): return strbuf 2020-03-10 11:41:40 -07:00
symlinks.c
tag.c commit, tag: don't set parsed bit for parse failures 2019-10-28 14:04:49 +09:00
tag.h
tar.h kset.h, tar.h: add missing header guard to prevent multiple inclusion 2019-11-07 20:12:04 +09:00
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
tmp-objdir.h
trace2.c Merge branch 'jh/trace2' 2019-05-13 23:50:35 +09:00
trace2.h trace2: move doc to trace2.h 2019-11-18 15:21:29 +09:00
trace.c packfile: drop release_pack_memory() 2019-08-13 12:21:33 -07:00
trace.h trace: move doc to trace.h 2019-11-18 15:21:29 +09:00
trailer.c
trailer.h pretty: add support for separator option in %(trailers) 2019-01-29 10:03:32 -08:00
transport-helper.c C: use skip_prefix() to avoid hardcoded string length 2020-01-31 13:03:45 -08:00
transport-internal.h
transport.c Merge branch 'jk/no-flush-upon-disconnecting-slrpc-transport' into maint 2020-02-14 12:42:28 -08:00
transport.h remote-curl: pass on atomic capability to remote side 2019-10-17 16:08:22 +09:00
tree-diff.c
tree-walk.c tree-walk.c: break circular dependency with unpack-trees 2020-02-04 10:32:15 -08:00
tree-walk.h tree-walk.c: break circular dependency with unpack-trees 2020-02-04 10:32:15 -08:00
tree.c tree: simplify parse_tree_indirect() 2019-09-03 15:10:53 -07:00
tree.h tree.c: make read_tree*() take 'struct repository *' 2018-11-19 10:50:33 +09:00
unicode-width.h unicode: update the width tables to Unicode 13.0 2020-03-17 15:06:37 -07:00
unimplemented.sh
unix-socket.c
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'bc/filter-process' 2020-03-26 17:11:20 -07:00
unpack-trees.h builtin/checkout: compute checkout metadata for checkouts 2020-03-16 11:37:02 -07:00
upload-pack.c config: split repo scope to local and worktree 2020-02-10 10:32:20 -08:00
upload-pack.h
url.c Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
url.h list-objects-filter: implement composite filters 2019-06-28 08:41:53 -07:00
urlmatch.c credential: allow wildcard patterns when matching config 2020-02-20 13:05:43 -08:00
urlmatch.h credential: allow wildcard patterns when matching config 2020-02-20 13:05:43 -08:00
usage.c vreportf(): avoid relying on stdio buffering 2019-11-02 15:20:21 +09:00
userdiff.c Merge branch 'ln/userdiff-elixir' 2019-12-25 11:21:59 -08:00
userdiff.h
utf8.c utf8: use skip_iprefix() in same_utf_encoding() 2019-11-10 16:04:36 +09:00
utf8.h
varint.c
varint.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
version.c version --build-options: report commit, too, if possible 2017-12-14 22:53:04 -08:00
version.h version --build-options: report commit, too, if possible 2017-12-14 22:53:04 -08:00
versioncmp.c
walker.c Merge branch 'rs/show-progress-in-dumb-http-fetch' 2020-03-09 11:21:21 -07:00
walker.h remote-curl: show progress for fetches over dumb HTTP 2020-03-03 13:15:40 -08:00
wildmatch.c
wildmatch.h
worktree.c Merge branch 'bc/sha-256-part-1-of-4' 2020-03-26 17:11:20 -07:00
worktree.h worktree: add utility to find worktree by pathname 2020-02-24 13:04:30 -08:00
wrap-for-bin.sh Make running git under other debugger-like programs easy 2018-04-25 10:47:22 +09:00
wrapper.c
write-or-die.c
ws.c
wt-status.c
wt-status.h commit: give correct advice for empty commit during a rebase 2019-12-06 09:32:02 -08:00
xdiff-interface.c xdiff: avoid computing non-zero offset from NULL pointer 2020-01-28 23:13:25 -08:00
xdiff-interface.h Fix spelling errors in code comments 2019-11-10 16:00:54 +09:00
zlib.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00

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). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. 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