Find a file
Jeff King 0b809c8248 checkout-index: drop error message from empty --stage=all
If checkout-index is given --stage=all for a specific path, it will try
to write stages 1-3 (if present) for that path to temporary files.
However, if the file is present only at stage 0, it writes nothing but
gives a confusing message:

  $ git checkout-index --stage=all -- Makefile
  git checkout-index: Makefile does not exist at stage 4

This is nonsense. There is no stage 4 (it's just an internal enum value
we use for "all"), and the documentation clearly states:

  Paths which only have a stage 0 entry will always be omitted from the
  output.

Here it's talking about the list of tempfiles written to stdout, but it
seems clear that this case was not meant to be an error. We even have a
test which covers it, but it only checks that the command reports an
exit code of 0, not its stderr. And it reports 0 only because of another
bug which fails to propagate errors (which will be fixed in a subsequent
patch).

So let's make the test more thorough. We'll also cover the case that we
found _no_ entry, not even a stage zero, which should still be an error.
However, because of the other bug, we'll have to mark this as expecting
failure for the moment.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-10-27 12:41:54 -07:00
.github Merge branch 'js/ci-ghwf-dedup-tests' 2020-10-08 21:53:26 -07:00
block-sha1
builtin checkout-index: drop error message from empty --stage=all 2020-10-27 12:41:54 -07:00
ci ci: do not skip tagged revisions in GitHub workflows 2020-10-08 11:58:41 -07:00
compat compat/mingw.h: drop extern from function declaration 2020-10-07 09:55:20 -07:00
contrib Merge branch 'js/cmake-vs' 2020-10-05 14:01:52 -07:00
Documentation Git 2.29.1 2020-10-22 15:07:25 -07:00
ewah
git-gui Merge https://github.com/prati0100/git-gui 2020-10-17 13:10:58 -07:00
gitk-git Merge remote-tracking branch 'paulus/master' into pm/gitk-update 2020-10-03 10:06:27 -07:00
gitweb
mergetools Merge branch 'ls/mergetool-meld-auto-merge' 2020-09-22 12:36:29 -07:00
negotiator negotiator/noop: add noop fetch negotiator 2020-08-18 13:25:05 -07:00
perl git-send-email: die if sendmail.* config is set 2020-07-23 18:00:34 -07:00
po Merge branch 'master' of github.com:Softcatala/git-po 2020-10-18 09:56:33 +08:00
ppc
refs Merge branch 'hn/refs-trace-backend' 2020-09-22 12:36:28 -07:00
sha1collisiondetection@855827c583
sha1dc
sha256
t checkout-index: drop error message from empty --stage=all 2020-10-27 12:41:54 -07:00
templates hooks--update.sample: use hash-agnostic zero OID 2020-09-23 09:31:45 -07:00
trace2
vcs-svn drop vcs-svn experiment 2020-08-13 11:02:15 -07:00
xdiff
.cirrus.yml
.clang-format
.editorconfig
.gitattributes
.gitignore Merge branch 'js/cmake-vs' 2020-10-05 14:01:52 -07:00
.gitmodules
.mailmap
.travis.yml
.tsan-suppressions
abspath.c
aclocal.m4
add-interactive.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
add-interactive.h
add-patch.c Merge branch 'pw/add-p-edit-ita-path' 2020-09-22 12:36:28 -07:00
advice.c
advice.h
alias.c
alias.h
alloc.c commit: move members graph_pos, generation to a slab 2020-06-17 14:37:30 -07:00
alloc.h object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
apply.c Merge branch 'jk/leakfix' 2020-08-27 14:04:49 -07:00
apply.h
archive-tar.c archive: read short blobs in archive.c::write_archive_entry() 2020-09-19 15:56:05 -07:00
archive-zip.c archive: read short blobs in archive.c::write_archive_entry() 2020-09-19 15:56:05 -07:00
archive.c archive: add --add-file 2020-09-19 15:56:06 -07:00
archive.h archive: add --add-file 2020-09-19 15:56:06 -07:00
attr.c
attr.h
banned.h
base85.c
bisect.c bisect--helper: reimplement bisect_next and bisect_auto_next shell functions in C 2020-09-24 12:06:30 -07:00
bisect.h bisect: combine args passed to find_bisection() 2020-08-07 15:13:03 -07:00
blame.c Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
blame.h
blob.c object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
blob.h
bloom.c builtin/commit-graph.c: introduce '--max-new-filters=<n>' 2020-09-18 10:35:39 -07:00
bloom.h bloom: encode out-of-bounds filters as non-empty 2020-09-17 21:55:50 -07:00
branch.c wt-status: tolerate dangling marks 2020-09-02 14:39:25 -07:00
branch.h
builtin.h Merge branch 'ds/maintenance-part-1' 2020-09-25 15:25:38 -07:00
bulk-checkin.c
bulk-checkin.h
bundle.c Merge branch 'jt/interpret-branch-name-fallback' 2020-09-09 13:53:09 -07:00
bundle.h Merge branch 'bc/sha-256-part-3' 2020-08-11 18:04:11 -07:00
cache-tree.c
cache-tree.h
cache.h builtin/clone: avoid failure with GIT_DEFAULT_HASH 2020-09-22 09:22:32 -07:00
chdir-notify.c
chdir-notify.h
check-builtins.sh
check_bindir
checkout.c config: drop git_config_get_string_const() 2020-08-17 15:35:47 -07:00
checkout.h
CODE_OF_CONDUCT.md
color.c
color.h
column.c Merge branch 'jk/strvec' 2020-08-10 10:23:57 -07:00
column.h
combine-diff.c Merge branch 'jk/diff-cc-oidfind-fix' 2020-10-05 14:01:55 -07:00
command-list.txt maintenance: create basic maintenance runner 2020-09-17 11:30:04 -07:00
commit-graph.c Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
commit-graph.h Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
commit-reach.c commit-reach: fix in_merge_bases_many bug 2020-10-02 10:26:31 -07:00
commit-reach.h commit-reach: avoid is_descendant_of() shim 2020-06-23 16:36:53 -07:00
commit-slab-decl.h Merge branch 'sg/commit-graph-cleanups' into master 2020-07-30 13:20:30 -07:00
commit-slab-impl.h commit-slab: add a function to deep free entries on the slab 2020-06-08 12:28:49 -07:00
commit-slab.h commit-slab: add a function to deep free entries on the slab 2020-06-08 12:28:49 -07:00
commit.c Merge branch 'jt/interpret-branch-name-fallback' 2020-09-09 13:53:09 -07:00
commit.h drop unused argc parameters 2020-09-30 12:53:47 -07:00
common-main.c
config.c Merge branch 'jk/leakfix' 2020-08-27 14:04:49 -07:00
config.h config: drop git_config_get_string_const() 2020-08-17 15:35:47 -07:00
config.mak.dev repository: enable SHA-256 support by default 2020-07-30 09:16:49 -07:00
config.mak.in
config.mak.uname Merge branch 'cb/no-more-gmtime' 2020-05-20 08:33:27 -07:00
configure.ac
connect.c Merge branch 'jk/leakfix' 2020-08-27 14:04:49 -07:00
connect.h Merge branch 'bc/sha-256-part-2' 2020-07-06 22:09:13 -07:00
connected.c Merge branch 'rs/more-buffered-io' 2020-08-24 14:54:31 -07:00
connected.h
convert.c convert: drop unused crlf_action from check_global_conv_flags_eol() 2020-09-30 12:53:47 -07:00
convert.h
copy.c
COPYING
credential.c credential: treat CR/LF as line endings in the credential protocol 2020-10-03 10:41:03 -07:00
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
date.c
decorate.c
decorate.h
delta-islands.c
delta-islands.h
delta.h
detect-compiler
diff-delta.c
diff-lib.c Merge branch 'so/combine-diff-simplify' 2020-10-05 14:01:51 -07:00
diff-no-index.c
diff.c diff: fix modified lines stats with --stat and --numstat 2020-09-24 12:31:45 -07:00
diff.h Merge branch 'so/combine-diff-simplify' 2020-10-05 14:01:51 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c dir.c: drop unused "untracked" from treat_path_fast() 2020-09-30 12:53:48 -07:00
dir.h dir: fix problematic API to avoid memory leaks 2020-08-18 17:17:31 -07:00
editor.c config: fix leaks from git_config_get_string_const() 2020-08-14 10:52:04 -07:00
entry.c checkout_entry(): remove unreachable error() call 2020-08-18 13:26:10 -07:00
environment.c Merge branch 'jk/leakfix' 2020-08-27 14:04:49 -07:00
exec-cmd.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
exec-cmd.h argv-array: rename to strvec 2020-07-28 15:02:17 -07:00
fetch-negotiator.c negotiator/noop: add noop fetch negotiator 2020-08-18 13:25:05 -07:00
fetch-negotiator.h
fetch-pack.c Merge branch 'jt/lazy-fetch' 2020-09-03 12:37:04 -07:00
fetch-pack.h Merge branch 'jt/lazy-fetch' 2020-09-03 12:37:04 -07:00
fmt-merge-msg.c fmt-merge-msg: allow merge destination to be omitted again 2020-07-30 12:43:10 -07:00
fmt-merge-msg.h
fsck.c Merge branch 'rs/fsck-duplicate-names-in-trees' 2020-06-08 18:06:29 -07:00
fsck.h
fsmonitor.c Merge branch 'jk/strvec' 2020-08-10 10:23:57 -07:00
fsmonitor.h
fuzz-commit-graph.c commit-graph: pass a 'struct repository *' in more places 2020-09-09 12:51:48 -07:00
fuzz-pack-headers.c
fuzz-pack-idx.c
generate-cmdlist.sh Fit to Plan 9's ANSI/POSIX compatibility layer 2020-09-09 22:31:31 -07:00
generate-configlist.sh
gettext.c
gettext.h
git-add--interactive.perl Merge branch 'pw/add-p-edit-ita-path' 2020-09-22 12:36:28 -07:00
git-archimport.perl
git-bisect.sh Merge branch 'mr/bisect-in-c-2' 2020-10-04 12:49:08 -07:00
git-compat-util.h compat-util: type-check parameters of no-op replacement functions 2020-08-06 17:25:37 -07:00
git-cvsexportcommit.perl cvsexportcommit: do not run git programs in dashed form 2020-08-26 14:49:52 -07:00
git-cvsimport.perl git-cvsimport: port to SHA-256 2020-06-22 11:21:07 -07:00
git-cvsserver.perl git-cvsserver: port to SHA-256 2020-06-22 11:21:07 -07:00
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetools: add support for nvimdiff (neovim) family 2020-07-29 14:44:49 -07:00
git-mergetool.sh
git-p4.py git-p4: use HEAD~$n to find parent commit for unshelve 2020-09-19 13:44:55 -07:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--preserve-merges.sh rebase: remove unused function reschedule_last_action 2020-08-12 12:25:42 -07:00
git-request-pull.sh
git-send-email.perl git-send-email: die if sendmail.* config is set 2020-07-23 18:00:34 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-submodule.sh Merge branch 'td/submodule-update-quiet' 2020-10-05 14:01:53 -07:00
git-svn.perl git-svn: set the OID length based on hash algorithm 2020-06-22 11:21:07 -07:00
GIT-VERSION-GEN Git 2.29.1 2020-10-22 15:07:25 -07:00
git-web--browse.sh
git.c Merge branch 'js/no-builtins-on-disk-option' 2020-10-08 21:53:26 -07:00
git.rc
gpg-interface.c strvec: fix indentation in renamed calls 2020-07-28 15:02:18 -07:00
gpg-interface.h
graph.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
graph.h
grep.c comment: fix spelling mistakes inside comments 2020-07-29 11:39:40 -07:00
grep.h
hash.h
hashmap.c
hashmap.h hashmap_for_each_entry(): workaround MSVC's runtime check failure #3 2020-09-30 13:26:54 -07:00
help.c help: do not expect built-in commands to be hardlinked 2020-10-07 15:25:10 -07:00
help.h help: do not expect built-in commands to be hardlinked 2020-10-07 15:25:10 -07:00
hex.c
http-backend.c strvec: fix indentation in renamed calls 2020-07-28 15:02:18 -07:00
http-fetch.c http-fetch: set up git directory before parsing pack hashes 2020-07-30 09:16:48 -07:00
http-push.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
http-walker.c http: refactor finish_http_pack_request() 2020-06-10 18:06:34 -07:00
http.c strvec: fix indentation in renamed calls 2020-07-28 15:02:18 -07:00
http.h Merge branch 'jt/cdn-offload' 2020-06-25 12:27:47 -07:00
ident.c Merge branch 'pw/rebase-i-more-options' 2020-09-03 12:37:01 -07:00
imap-send.c strvec: convert more callers away from argv_array name 2020-07-28 15:02:18 -07:00
INSTALL
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
line-log.h line-log: more responsive, incremental 'git log -L' 2020-05-11 09:33:56 -07:00
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c fetch: do not override partial clone filter 2020-09-28 16:11:59 -07:00
list-objects-filter-options.h list_objects_filter_options: introduce 'list_object_filter_config_name' 2020-08-03 18:03:24 -07:00
list-objects-filter.c
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h
log-tree.c Merge branch 'so/combine-diff-simplify' 2020-10-05 14:01:51 -07:00
log-tree.h
ls-refs.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
ls-refs.h argv-array: rename to strvec 2020-07-28 15:02:17 -07:00
mailinfo.c
mailinfo.h
mailmap.c
mailmap.h
Makefile Merge branch 'js/no-builtins-on-disk-option' into maint 2020-10-22 15:01:22 -07:00
match-trees.c
mem-pool.c mem-pool: use consistent pool variable name 2020-08-18 12:16:08 -07:00
mem-pool.h mem-pool: use consistent pool variable name 2020-08-18 12:16:08 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'en/eol-attrs-gotchas' 2020-08-10 10:24:02 -07:00
merge-recursive.h merge-recursive: fix unclear and outright wrong comments 2020-08-02 11:03:57 -07:00
merge.c dir: fix problematic API to avoid memory leaks 2020-08-18 17:17:31 -07:00
mergesort.c
mergesort.h
midx.c Merge branch 'rs/misc-cleanups' 2020-09-18 17:58:00 -07:00
midx.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object-store.h sha1-file: introduce no-lazy-fetch has_object() 2020-08-06 13:01:02 -07:00
object.c object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
object.h maintenance: add auto condition for commit-graph task 2020-09-17 11:30:05 -07:00
oid-array.c
oid-array.h
oidmap.c
oidmap.h
oidset.c blame: validate and peel the object names on the ignore list 2020-09-24 22:20:58 -07:00
oidset.h blame: validate and peel the object names on the ignore list 2020-09-24 22:20:58 -07:00
pack-bitmap-write.c pack-bitmap-write: use hashwrite_be32() in write_hash_cache() 2020-09-06 13:40:41 -07:00
pack-bitmap.c
pack-bitmap.h
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c pack-write: use hashwrite_be32() in write_idx_file() 2020-09-19 12:15:36 -07:00
pack.h
packfile.c Merge branch 'mt/delta-base-cache-races' 2020-10-04 12:49:15 -07:00
packfile.h midx: traverse the local MIDX first 2020-08-28 14:07:09 -07:00
pager.c strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
parse-options-cb.c assert PARSE_OPT_NONEG in parse-options callbacks 2020-09-30 12:53:47 -07:00
parse-options.c parse-options: add --git-completion-helper-all 2020-08-19 17:46:17 -07:00
parse-options.h messages: avoid SHA-1 in end-user facing messages 2020-08-14 09:33:37 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c sequencer: treat REVERT_HEAD as a pseudo ref 2020-08-21 11:20:11 -07:00
path.h sequencer: treat REVERT_HEAD as a pseudo ref 2020-08-21 11:20:11 -07:00
pathspec.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
pathspec.h
pkt-line.c Merge branch 'bc/sha-256-part-2' 2020-07-06 22:09:13 -07:00
pkt-line.h Merge branch 'bc/sha-256-part-2' 2020-07-06 22:09:13 -07:00
preload-index.c
pretty.c pretty: refactor format_sanitized_subject() 2020-08-28 13:52:51 -07:00
pretty.h pretty: refactor format_sanitized_subject() 2020-08-28 13:52:51 -07:00
prio-queue.c
prio-queue.h
progress.c Merge branch 'ma/stop-progress-null-fix' 2020-08-17 17:02:48 -07:00
progress.h
promisor-remote.c promisor-remote: remove unused variable 2020-09-21 22:32:49 -07:00
promisor-remote.h promisor-remote: remove unused variable 2020-09-21 22:32:49 -07:00
prompt.c
prompt.h
protocol.c protocol: re-enable v2 protocol by default 2020-09-25 11:40:42 -07:00
protocol.h
prune-packed.c
prune-packed.h
quote.c quote: turn 'nodq' parameter into a set of flags 2020-09-10 13:08:07 -07:00
quote.h quote: turn 'nodq' parameter into a set of flags 2020-09-10 13:08:07 -07:00
range-diff.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
range-diff.h strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
reachable.c
reachable.h
read-cache.c read-cache: fix mem-pool allocation for multi-threaded index loading 2020-09-06 12:34:12 -07:00
README.md
rebase-interactive.c
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c Merge branch 'ma/worktree-cleanups' 2020-10-05 14:01:52 -07:00
ref-filter.h ref-filter: make internal reachable-filter API more precise 2020-09-18 15:41:55 -07:00
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'hn/refs-trace-backend' 2020-09-22 12:36:28 -07:00
refs.h Merge branch 'jt/interpret-branch-name-fallback' 2020-09-09 13:53:09 -07:00
refspec.c Merge branch 'jk/refspecs-negative' 2020-10-05 14:01:54 -07:00
refspec.h Merge branch 'jk/refspecs-negative' 2020-10-05 14:01:54 -07:00
RelNotes Git 2.29.1 2020-10-22 15:07:25 -07:00
remote-curl.c Merge branch 'jt/lazy-fetch' 2020-09-03 12:37:04 -07:00
remote.c Merge branch 'jk/refspecs-negative' 2020-10-05 14:01:54 -07:00
remote.h Merge branch 'jk/refspecs-negative' 2020-10-05 14:01:54 -07:00
replace-object.c
replace-object.h
repo-settings.c Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
repository.c repository: enable SHA-256 support by default 2020-07-30 09:16:49 -07:00
repository.h Merge branch 'tb/bloom-improvements' 2020-09-29 14:01:20 -07:00
rerere.c
rerere.h
reset.c
reset.h
resolve-undo.c
resolve-undo.h
revision.c drop unused argc parameters 2020-09-30 12:53:47 -07:00
revision.h revision: add separate field for "-m" of "diff-index -m" 2020-08-31 13:42:58 -07:00
run-command.c maintenance: replace run_auto_gc() 2020-09-17 11:30:05 -07:00
run-command.h maintenance: replace run_auto_gc() 2020-09-17 11:30:05 -07:00
send-pack.c Merge branch 'hx/push-atomic-with-cert' 2020-09-25 15:25:41 -07:00
send-pack.h
sequencer.c Merge branch 'jk/unused' 2020-10-05 14:01:52 -07:00
sequencer.h Merge branch 'pw/rebase-i-more-options' 2020-09-03 12:37:01 -07:00
serve.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
serve.h argv-array: rename to strvec 2020-07-28 15:02:17 -07:00
server-info.c
setup.c Merge branch 'bc/sha-256-part-3' 2020-08-11 18:04:11 -07:00
sh-i18n--envsubst.c
sha1-file.c Merge branch 'jt/has_object' 2020-08-13 14:13:39 -07:00
sha1-lookup.c
sha1-lookup.h
sha1-name.c wt-status: tolerate dangling marks 2020-09-02 14:39:25 -07:00
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'sg/commit-graph-cleanups' into master 2020-07-30 13:20:30 -07:00
shallow.h
shell.c
shortlog.h shortlog: allow multiple groups to be specified 2020-09-27 12:21:05 -07:00
sideband.c sideband: mark "remote error:" prefix for translation 2020-08-07 12:01:57 -07:00
sideband.h
sigchain.c
sigchain.h
split-index.c mem-pool: use more standard initialization and finalization 2020-08-18 12:16:06 -07:00
split-index.h
stable-qsort.c
strbuf.c Merge branch 'rs/retire-strbuf-write-fd' 2020-06-29 14:17:26 -07:00
strbuf.h Merge branch 'rs/retire-strbuf-write-fd' 2020-06-29 14:17:26 -07:00
streaming.c
streaming.h
string-list.c
string-list.h
strvec.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
strvec.h strvec: rename struct fields 2020-07-30 19:18:06 -07:00
sub-process.c strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
sub-process.h
submodule-config.c fetch: avoid reading submodule config until needed 2020-08-18 13:25:05 -07:00
submodule-config.h
submodule.c Merge branch 'so/combine-diff-simplify' 2020-10-05 14:01:51 -07:00
submodule.h submodule: rename helper functions to avoid ambiguity 2020-08-12 14:12:58 -07:00
symlinks.c
tag.c object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
tag.h
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
tmp-objdir.h
trace.c http, imap-send: stop using CURLOPT_VERBOSE 2020-05-11 11:18:01 -07:00
trace.h http, imap-send: stop using CURLOPT_VERBOSE 2020-05-11 11:18:01 -07:00
trace2.c
trace2.h
trailer.c Merge branch 'jk/shortlog-group-by-trailer' 2020-10-04 12:49:14 -07:00
trailer.h trailer: add interface for iterating over commit trailers 2020-09-27 12:21:05 -07:00
transport-helper.c Merge branch 'jx/proc-receive-hook' 2020-09-25 15:25:39 -07:00
transport-internal.h strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
transport.c Merge branch 'jx/proc-receive-hook' 2020-09-25 15:25:39 -07:00
transport.h Merge branch 'jt/lazy-fetch' 2020-09-03 12:37:04 -07:00
tree-diff.c bloom/diff: properly short-circuit on max_changes 2020-09-17 09:31:25 -07:00
tree-walk.c tree-walk.c: don't match submodule entries for 'submod/anything' 2020-06-08 12:28:48 -07:00
tree-walk.h
tree.c object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
unpack-trees.h strvec: convert remaining callers away from argv_array name 2020-07-28 15:02:18 -07:00
upload-pack.c Merge branch 'rs/more-buffered-io' 2020-08-24 14:54:31 -07:00
upload-pack.h argv-array: rename to strvec 2020-07-28 15:02:17 -07:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c userdiff: improve Fortran xfuncname regex 2020-08-13 11:21:18 -07:00
userdiff.h
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c Merge branch 'ma/worktree-cleanups' 2020-10-05 14:01:52 -07:00
worktree.h Merge branch 'ma/worktree-cleanups' 2020-10-05 14:01:52 -07:00
wrap-for-bin.sh
wrapper.c xrealloc: do not reuse pointer freed by zero-length realloc() 2020-09-02 12:18:14 -07:00
write-or-die.c
ws.c
wt-status.c Merge branch 'ma/worktree-cleanups' 2020-10-05 14:01:52 -07:00
wt-status.h wt-status: introduce wt_status_state_free_buffers() 2020-09-27 14:21:47 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

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