Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Ævar Arnfjörð Bjarmason 2b7098936c run-command API users: use strvec_pushl(), not argv construction
Change a pattern of hardcoding an "argv" array size, populating it and
assigning to the "argv" member of "struct child_process" to instead
use "strvec_pushl()" to add data to the "args" member.

This implements the same behavior as before in fewer lines of code,
and moves us further towards being able to remove the "argv" member in
a subsequent commit.

Since we've entirely removed the "argv" variable(s) we can be sure
that no potential logic errors of the type discussed in a preceding
commit are being introduced here, i.e. ones where the local "argv" was
being modified after the assignment to "struct child_process"'s
"argv".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-11-25 22:15:07 -08:00
.github Merge branch 'js/windows-ci-path-fix' 2021-10-18 15:47:58 -07:00
block-sha1 block-sha1: drop trailing semicolon from macro definition 2021-03-17 10:20:01 -07:00
builtin run-command API users: use strvec_pushl(), not argv construction 2021-11-25 22:15:07 -08:00
ci Merge branch 'cb/ci-build-pedantic' into maint 2021-10-12 13:51:31 -07:00
compat simple-ipc: work around issues with Cygwin's Unix socket emulation 2021-11-10 09:12:19 -08:00
contrib Merge branch 're/completion-fix-test-equality' 2021-10-29 15:43:16 -07:00
Documentation Git 2.34.1 2021-11-24 10:56:26 -08:00
ewah use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
git-gui Merge https://github.com/prati0100/git-gui 2021-03-04 12:38:50 -08:00
gitk-git Merge remote-tracking branch 'paulus/master' into pm/gitk-update 2020-10-03 10:06:27 -07:00
gitweb Merge branch 'gh/gitweb-branch-sort' 2021-09-10 11:46:32 -07:00
mergetools mergetools/xxdiff: prevent segfaults from stopping difftool 2021-10-13 11:04:04 -07:00
negotiator use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
perl Merge branch 'ab/send-email-optim' 2021-07-22 13:05:54 -07:00
po l10n: pl: 2.34.0 round 3 2021-11-14 15:19:23 +01:00
ppc *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
refs Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
sha1collisiondetection@855827c583 sha1dc: update from upstream 2019-05-14 16:45:01 +09:00
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 run-command tests: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
templates hook: add sample template for push-to-checkout 2020-10-16 08:47:02 -07:00
trace2 Merge branch 'js/trace2-raise-format-version' 2021-11-12 15:29:25 -08:00
xdiff Merge branch 'ab/pickaxe-pcre2' 2021-07-13 16:52:50 -07:00
.cirrus.yml ci: update freebsd 12 cirrus job 2021-08-12 14:00:52 -07:00
.clang-format clang-format: use git grep to generate the ForEachMacros list 2019-06-04 14:50:40 -07:00
.editorconfig editorconfig: indent text files with tabs 2020-01-06 08:46:32 -08:00
.gitattributes CoC: explicitly take any whitespace breakage 2021-01-04 09:44:49 -08:00
.gitignore Merge branch 'js/retire-preserve-merges' 2021-10-18 15:47:56 -07:00
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
.mailmap Add entry for Ramkumar Ramachandra 2021-03-08 09:56:34 -08:00
.travis.yml ci: remove GETTEXT_POISON jobs 2021-01-21 15:50:00 -08:00
.tsan-suppressions replace-object: make replace operations thread-safe 2020-01-17 13:52:14 -08:00
abspath.c abspath: add a function to resolve paths with missing components 2020-12-12 23:35:47 -08:00
aclocal.m4 configure: use AC_LANG_PROGRAM consistently 2011-02-14 10:55:15 -08:00
add-interactive.c *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -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 run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
advice.c Merge branch 'ds/add-rm-with-sparse-index' 2021-10-13 15:15:56 -07:00
advice.h Merge branch 'en/pull-conflicting-options' into maint 2021-10-12 13:51:36 -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 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 'jc/trivial-threeway-binary-merge' into maint 2021-10-12 13:51:45 -07:00
apply.h apply.h: include missing header 2019-09-28 14:04:16 +09:00
archive-tar.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08: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: convert queue_directory to struct object_id 2021-08-27 14:19:00 -07:00
archive.h archive: expand only a single %(describe) per archive 2021-03-11 13:22:44 -08:00
attr.c attr: be careful about sparse directories 2021-09-07 22:41:10 -07:00
attr.h *: remove 'const' qualifier for struct index_state 2021-04-14 13:46:00 -07:00
banned.h banned.h: mark ctime_r() and asctime_r() as banned 2020-12-02 14:30:39 -08:00
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c bisect: simplify return code from bisect_checkout() 2021-07-28 10:57:37 -07:00
bisect.h bisect: combine args passed to find_bisection() 2020-08-07 15:13:03 -07:00
blame.c hash: provide per-algorithm null OIDs 2021-04-27 16:31:39 +09:00
blame.h blame: simplify 'setup_blame_bloom_data' interface 2020-11-01 15:54:15 -08:00
blob.c object: drop parsed_object_pool->commit_count 2020-06-17 14:37:14 -07:00
blob.h blob: allow lookup_blob to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
bloom.c Merge branch 'ah/plugleaks' 2021-05-07 12:47:41 +09:00
bloom.h bloom: encode out-of-bounds filters as non-empty 2020-09-17 21:55:50 -07:00
branch.c advice: remove read uses of most global advice_ variables 2021-08-25 12:07:52 -07:00
branch.h Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
builtin.h builtin.h: remove cmd_tar_tree() declaration 2021-10-01 14:39:46 -07:00
bulk-checkin.c pack-write: split up finish_tmp_packfile() function 2021-09-09 18:23:11 -07:00
bulk-checkin.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
bundle.c bundle API: change "flags" to be "extra_index_pack_args" 2021-09-07 10:59:23 -07:00
bundle.h bundle API: change "flags" to be "extra_index_pack_args" 2021-09-07 10:59:23 -07:00
cache-tree.c Merge branch 'pw/sparse-cache-tree-verify-fix' 2021-10-25 16:06:57 -07:00
cache-tree.h cache-tree: extract subtree_pos() 2021-01-23 17:14:07 -08:00
cache.h Merge branch 'ab/fix-commit-error-message-upon-unwritable-object-store' 2021-10-25 16:06:57 -07:00
cbtree.c oidtree: a crit-bit tree for odb_loose_cache 2021-07-07 21:28:04 -07:00
cbtree.h cbtree.h: define cb_init() in terms of CBTREE_INIT 2021-09-27 14:48:00 -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-builtins.sh check-builtins: strip executable suffix $X when enumerating builtins 2015-02-05 12:03:27 -08:00
checkout.c *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
checkout.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
chunk-format.c csum-file.h: increase hashfile buffer size 2021-05-19 16:41:21 +09:00
chunk-format.h chunk-format: create read chunk API 2021-02-18 13:38:16 -08:00
CODE_OF_CONDUCT.md CoC: update to version 2.0 + local changes 2021-01-13 17:45:04 -08:00
color.c color.c: alias RGB colors 8-15 to aixterm colors 2020-02-11 11:19:00 -08:00
color.h range-diff: use dim/bold cues to improve dual color mode 2018-08-13 10:44:52 -07:00
column.c Merge branch 'jk/strvec' 2020-08-10 10:23:57 -07:00
column.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
combine-diff.c Merge branch 'ab/pickaxe-pcre2' 2021-07-13 16:52:50 -07:00
command-list.txt command-list.txt: remove 'sparse-index' from main help 2021-10-25 09:10:43 -07:00
commit-graph.c Merge branch 'js/run-command-close-packs' 2021-09-20 15:20:45 -07:00
commit-graph.h revision: avoid hitting packfiles when commits are in commit-graph 2021-08-09 09:51:12 -07:00
commit-reach.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
commit-reach.h commit-graph: return 64-bit generation number 2021-01-18 16:21:18 -08: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 advice: move advice.graftFileDeprecated squashing to commit.[ch] 2021-08-25 12:07:52 -07:00
commit.h advice: move advice.graftFileDeprecated squashing to commit.[ch] 2021-08-25 12:07:52 -07:00
common-main.c common-main: delay trace2 initialization 2019-08-06 13:09:01 -07:00
config.c config.c: don't leak memory in handle_path_include() 2021-10-21 16:26:45 -07:00
config.h Merge branch 'ab/retire-git-config-key-is-valid' 2021-10-11 10:21:47 -07:00
config.mak.dev Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better 2021-09-28 21:15:53 -07:00
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname Merge branch 'ab/config-based-hooks-1' 2021-10-13 15:15:57 -07:00
configure.ac Remove support for v1 of the PCRE library 2021-01-23 21:15:43 -08:00
connect.c Merge branch 'ah/connect-parse-feature-v0-fix' into maint 2021-10-12 13:51:49 -07:00
connect.h Merge branch 'bc/sha-256-part-2' 2020-07-06 22:09:13 -07:00
connected.c Merge branch 'ps/connectivity-optim' 2021-11-12 15:29:24 -08:00
connected.h connected: refactor iterator to return next object ID directly 2021-09-01 12:43:56 -07:00
convert.c convert: release strbuf to avoid leak 2021-07-26 12:19:20 -07:00
convert.h Merge branch 'ds/sparse-index-protections' 2021-04-30 13:50:26 +09:00
copy.c copy.c: use error_errno() 2016-05-09 12:29:08 -07:00
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
credential.c urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT 2021-10-01 14:22:51 -07:00
credential.h *.h: move some *_INIT to designated initializers 2021-07-01 12:31:45 -07:00
csum-file.c use xopen() to handle fatal open(2) failures 2021-08-25 14:39:08 -07:00
csum-file.h Merge branch 'tb/midx-use-checksum' 2021-07-16 17:42:46 -07:00
ctype.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
daemon.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
date.c comments: avoid using the gender of our users 2021-06-16 11:25:11 +09:00
decorate.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
decorate.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
delta-islands.c oid_array: rename source file from sha1-array 2020-03-30 10:59:08 -07:00
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 build: catch clang that identifies itself as "$VENDOR clang" 2021-08-06 13:35:37 -07: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 Merge branch 'dd/diff-files-unmerged-fix' into maint 2021-10-12 13:51:40 -07:00
diff-merges.c diff-index: restore -c/--cc options handling 2021-09-07 11:11:35 -07:00
diff-merges.h diff-index: restore -c/--cc options handling 2021-09-07 11:11:35 -07:00
diff-no-index.c dir: introduce readdir_skip_dot_and_dotdot() helper 2021-05-27 14:02:37 +09:00
diff.c *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
diff.h diff.h: move pickaxe fields together again 2021-05-11 12:47:31 +09:00
diffcore-break.c diff: restrict when prefetching occurs 2020-04-07 16:09:29 -07:00
diffcore-delta.c diff.c: reduce implicit dependency on the_index 2018-09-21 09:48:10 -07:00
diffcore-order.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
diffcore-pickaxe.c xdiff-interface: replace discard_hunk_line() with a flag 2021-05-11 12:47:31 +09:00
diffcore-rename.c Merge branch 'en/ort-perf-batch-15' 2021-08-24 15:32:39 -07:00
diffcore-rotate.c diff: --{rotate,skip}-to=<path> 2021-02-16 09:30:42 -08:00
diffcore.h merge-ort: store filepairs and filespecs in our mem_pool 2021-07-30 09:01:19 -07:00
dir-iterator.c dir-iterator: add flags parameter to dir_iterator_begin 2019-07-11 13:52:15 -07:00
dir-iterator.h dir-iterator: add flags parameter to dir_iterator_begin 2019-07-11 13:52:15 -07:00
dir.c Merge branch 'ds/add-rm-with-sparse-index' into maint 2021-11-23 14:48:11 -08:00
dir.h Merge branch 'ds/sparse-index-ignored-files' 2021-09-20 15:20:44 -07:00
editor.c run-command API users: use strvec_pushl(), not argv construction 2021-11-25 22:15:07 -08:00
entry.c entry: show finer-grained counter in "Filtering content" progress line 2021-09-09 09:58:19 -07:00
entry.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
environment.c Merge branch 'jk/ref-paranoia' 2021-10-11 10:21:47 -07:00
environment.h environment: make getenv_safe() a public function 2021-01-15 13:03:45 -08: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 repo-settings.c: simplify the setup 2021-09-22 13:15:00 -07:00
fetch-negotiator.h repo-settings: create feature.experimental setting 2019-08-13 13:33:55 -07:00
fetch-pack.c fetch-pack: optimize loading of refs via commit graph 2021-09-01 12:43:56 -07:00
fetch-pack.h fetch: teach independent negotiation (no packfile) 2021-05-05 10:41:29 +09:00
fmt-merge-msg.c Merge branch 'fs/ssh-signing' 2021-10-25 16:06:58 -07:00
fmt-merge-msg.h Lib-ify fmt-merge-msg 2020-03-24 15:04:43 -07:00
fsck.c fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW 2021-05-04 11:52:02 +09:00
fsck.h fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW 2021-05-04 11:52:02 +09:00
fsmonitor.c Merge branch 'jh/fsmonitor-prework' 2021-03-19 15:25:37 -07:00
fsmonitor.h fsmonitor: add assertion that fsmonitor is valid to check_removed 2021-03-18 13:31:13 -07:00
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: 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 Fit to Plan 9's ANSI/POSIX compatibility layer 2020-09-09 22:31:31 -07:00
generate-configlist.sh help: move list_config_help to builtin/help 2020-04-16 15:22:16 -07:00
generate-hooklist.sh hook-list.h: add a generated list of hooks, like config-list.h 2021-09-27 09:44:54 -07:00
gettext.c *.c static functions: add missing __attribute__((format)) 2021-07-13 15:20:20 -07:00
gettext.h gettext: remove optional non-standard parens in N_() definition 2021-09-03 11:40:30 -07:00
git-add--interactive.perl Merge branch 'js/add-i-color-fix' 2020-12-08 15:11:17 -08:00
git-archimport.perl archimport: use safe_pipe_capture for user input 2017-09-12 11:08:15 +09:00
git-bisect.sh Merge branch 'mr/bisect-in-c-4' 2021-09-23 13:44:48 -07:00
git-compat-util.h wrapper: remove xunsetenv() 2021-10-29 14:59:29 -07:00
git-curl-compat.h http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors 2021-09-27 10:58:07 -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: protect against NULL in crypt(3) 2021-09-16 20:47:23 -07:00
git-difftool--helper.sh mergetool: break setup_tool out into separate initialization function 2021-02-09 14:09:16 -08:00
git-filter-branch.sh filter-branch: drop $_x40 glob 2021-03-10 14:16:58 -08:00
git-instaweb.sh git-instaweb: add Python builtin http.server support 2019-01-28 10:57:44 -08:00
git-merge-octopus.sh Merge branch 'ma/up-to-date' 2017-09-10 17:08:22 +09:00
git-merge-one-file.sh merge-one-file: compute empty blob object ID 2018-05-02 13:59:53 +09:00
git-merge-resolve.sh scripts: use "git foo" not "git-foo" 2017-08-07 12:04:45 -07:00
git-mergetool--lib.sh Merge branch 'sh/mergetool-hideresolved' 2021-02-17 17:21:41 -08:00
git-mergetool.sh mergetool: do not enable hideResolved by default 2021-03-13 15:30:29 -08:00
git-p4.py git-p4: fix failed submit by skip non-text data files 2021-06-28 09:49:30 -07:00
git-quiltimport.sh git-quiltimport: add --keep-non-patch option 2019-01-07 15:29:34 -08:00
git-request-pull.sh request-pull: warn if the remote object is not the same as the local one 2019-05-28 13:06:25 -07:00
git-send-email.perl Merge branch 'ab/send-email-config-fix' into maint 2021-10-12 13:51:44 -07:00
git-sh-i18n.sh git-sh-i18n: remove unused eval_ngettext() 2021-10-21 16:04:29 -07:00
git-sh-setup.sh git-sh-setup: remove messaging supporting --preserve-merges 2021-10-21 16:04:29 -07:00
git-submodule.sh Merge branch 'ab/unused-script-helpers' 2021-09-23 13:44:47 -07:00
git-svn.perl git-svn: drop support for --preserve-merges 2021-09-07 21:45:33 -07:00
GIT-VERSION-GEN Git 2.34.1 2021-11-24 10:55:13 -08: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 Merge branch 'js/retire-preserve-merges' 2021-10-18 15:47:56 -07:00
git.rc mingw: embed a manifest to trick UAC into Doing The Right Thing 2019-06-27 12:55:45 -07:00
gpg-interface.c Merge branch 'jx/message-fixes' 2021-11-03 13:32:28 -07:00
gpg-interface.h ssh signing: provide a textual signing_key_id 2021-09-10 14:15:52 -07:00
graph.c graph: improve grammar of "invalid color" error message 2021-06-15 12:54:26 +09:00
graph.h graph: move doc to graph.h and graph.c 2019-11-18 15:21:28 +09:00
grep.c Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data" 2021-11-19 09:10:27 -08:00
grep.h Merge branch 'hm/paint-hits-in-log-grep' 2021-11-01 13:48:08 -07:00
hash-lookup.c oid_pos(): access table through const pointers 2021-01-28 12:03:26 -08:00
hash-lookup.h oid_pos(): access table through const pointers 2021-01-28 12:03:26 -08:00
hash.h oidtree: avoid unaligned access to crit-bit tree 2021-08-15 13:13:50 -07:00
hashmap.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
hashmap.h hashmap: provide deallocation function names 2020-11-02 12:15:50 -08:00
help.c help: move column config discovery to help.c library 2021-09-23 10:30:43 -07:00
help.h help: move column config discovery to help.c library 2021-09-23 10:30:43 -07:00
hex.c hex: print objects using the hash algorithm member 2021-04-27 16:31:39 +09:00
hook.c hook.c: add a hook_exists() wrapper and use it in bugreport.c 2021-09-27 09:44:54 -07:00
hook.h hook.c: add a hook_exists() wrapper and use it in bugreport.c 2021-09-27 09:44:54 -07:00
http-backend.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
http-fetch.c http-fetch: allow custom index-pack args 2021-02-22 12:07:40 -08:00
http-push.c http: rename CURLOPT_FILE to CURLOPT_WRITEDATA 2021-07-30 16:01:54 -07:00
http-walker.c http: rename CURLOPT_FILE to CURLOPT_WRITEDATA 2021-07-30 16:01:54 -07:00
http.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
http.h http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors 2021-09-27 10:58:07 -07:00
ident.c Merge branch 'pw/rebase-i-more-options' 2020-09-03 12:37:01 -07:00
imap-send.c http: centralize the accounting of libcurl dependencies 2021-09-13 10:39:04 -07:00
INSTALL INSTALL: mention that we need libcurl 7.19.4 or newer to build 2021-09-13 10:39:03 -07:00
iterator.h refs: introduce an iterator interface 2016-06-20 11:38:20 -07:00
json-writer.c *.c *_init(): define in terms of corresponding *_INIT macro 2021-07-01 12:32:22 -07:00
json-writer.h *.h: move some *_INIT to designated initializers 2021-07-01 12:31:45 -07:00
khash.h khash: clarify that allocations never fail 2021-07-06 13:07:50 -07:00
kwset.c Merge branch 'rs/copy-array' into maint 2019-07-29 12:38:15 -07:00
kwset.h kset.h, tar.h: add missing header guard to prevent multiple inclusion 2019-11-07 20:12:04 +09:00
levenshtein.c convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
levenshtein.h Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
line-log.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
line-log.h line-log: more responsive, incremental 'git log -L' 2020-05-11 09:33:56 -07:00
line-range.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08: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: fix potential out of bounds memory access 2018-09-14 09:10:26 -07:00
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 help: fix small typo in error message 2021-05-21 07:52:10 +09:00
list-objects-filter-options.h list-objects: implement object type filter 2021-04-19 14:09:11 -07:00
list-objects-filter.c list-objects: implement object type filter 2021-04-19 14:09:11 -07:00
list-objects-filter.h list-objects: support filtering by tag and commit 2021-04-12 09:35:50 -07:00
list-objects.c list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" 2021-08-12 13:08:30 -07:00
list-objects.h list-objects: consume sparse tree walk 2019-01-17 13:44:39 -08:00
list.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
ll-merge.c ll_union_merge(): rename path_unused parameter 2021-06-11 12:37:33 +09:00
ll-merge.h merge: move doc to ll-merge.h 2019-11-18 15:21:28 +09:00
lockfile.c lockfile.c: introduce 'hold_lock_file_for_update_mode' 2020-04-27 11:27:36 -07:00
lockfile.h *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
log-tree.c Merge branch 'fs/ssh-signing' 2021-10-25 16:06:58 -07:00
log-tree.h log-tree.h: remove unused function declarations 2021-10-01 14:39:46 -07:00
ls-refs.c Merge branch 'jk/ref-paranoia' 2021-10-11 10:21:47 -07:00
ls-refs.h serve.[ch]: don't pass "struct strvec *keys" to commands 2021-08-05 08:59:37 -07:00
mailinfo.c Merge branch 'ar/mailinfo-memcmp-to-skip-prefix' 2021-07-08 13:15:03 -07:00
mailinfo.h am: learn to process quoted lines that ends with CRLF 2021-05-10 15:06:22 +09:00
mailmap.c Merge branch 'ab/mailmap-leakfix' into maint 2021-10-12 13:51:30 -07:00
mailmap.h shortlog: remove unused(?) "repo-abbrev" feature 2021-01-12 14:04:42 -08:00
Makefile Merge branch 'ab/make-sparse-for-real' 2021-10-29 15:43:12 -07:00
match-trees.c Always use oidread to read into struct object_id 2021-04-27 16:31:38 +09:00
mem-pool.c mem-pool: drop trailing semicolon from macro definition 2021-03-17 10:20:16 -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.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
merge-blobs.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
merge-ort-wrappers.c merge(s): apply consistent punctuation to "up to date" messages 2021-05-03 14:14:56 +09:00
merge-ort-wrappers.h merge-ort-wrappers: new convience wrappers to mimic the old merge API 2020-10-26 22:36:14 -07:00
merge-ort.c Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
merge-ort.h merge-ort: avoid accidental API mis-use 2021-05-20 15:40:39 +09:00
merge-recursive.c Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
merge-recursive.h merge-recursive: fix unclear and outright wrong comments 2020-08-02 11:03:57 -07:00
merge.c unpack-trees: introduce preserve_ignored to unpack_trees_options 2021-09-27 13:38:37 -07:00
mergesort.c mergesort: use ranks stack 2021-10-01 12:43:09 -07:00
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
midx.c Merge branch 'tb/repack-write-midx' 2021-10-18 15:47:57 -07:00
midx.h Merge branch 'tb/repack-write-midx' 2021-10-18 15:47:57 -07:00
name-hash.c Merge branch 'ds/sparse-index-protections' 2021-04-30 13:50:26 +09:00
notes-cache.c notes-cache.c: remove the_repository references 2018-11-12 14:50:06 +09:00
notes-cache.h notes-cache.c: remove the_repository references 2018-11-12 14:50:06 +09:00
notes-merge.c advice: remove read uses of most global advice_ variables 2021-08-25 12:07:52 -07:00
notes-merge.h notes-merge.c: remove implicit dependency on the_index 2018-11-12 14:50:05 +09:00
notes-utils.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
notes-utils.h notes-utils.c: remove the_repository references 2019-01-14 12:13:04 -08:00
notes.c hash: provide per-algorithm null OIDs 2021-04-27 16:31:39 +09:00
notes.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
object-file.c Merge branch 'ab/fsck-unexpected-type' 2021-11-12 15:29:25 -08:00
object-name.c advice: remove read uses of most global advice_ variables 2021-08-25 12:07:52 -07:00
object-store.h Merge branch 'ab/fix-commit-error-message-upon-unwritable-object-store' 2021-10-25 16:06:57 -07:00
object.c Merge branch 'ab/fsck-unexpected-type' 2021-10-25 16:06:56 -07:00
object.h *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
oid-array.c oid_pos(): access table through const pointers 2021-01-28 12:03:26 -08:00
oid-array.h *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
oidmap.c hashmap: provide deallocation function names 2020-11-02 12:15:50 -08:00
oidmap.h hashmap: use *_entry APIs for iteration 2019-10-07 10:20:11 +09:00
oidset.c oidset: make oidset_size() an inline function 2021-09-12 16:14:32 -07:00
oidset.h oidset: make oidset_size() an inline function 2021-09-12 16:14:32 -07:00
oidtree.c oidtree: avoid unaligned access to crit-bit tree 2021-08-15 13:13:50 -07:00
oidtree.h oidtree: a crit-bit tree for odb_loose_cache 2021-07-07 21:28:04 -07:00
pack-bitmap-write.c pack-bitmap: read multi-pack bitmaps 2021-09-01 13:56:43 -07:00
pack-bitmap.c Merge branch 'tb/repack-write-midx' 2021-10-18 15:47:57 -07:00
pack-bitmap.h Merge branch 'tb/repack-write-midx' 2021-10-18 15:47:57 -07:00
pack-check.c Merge branch 'ab/fsck-unexpected-type' 2021-10-25 16:06:56 -07:00
pack-objects.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
pack-objects.h pack-objects: move static inline from a header to the sole consumer 2021-05-27 12:14:41 +09:00
pack-revindex.c Merge branch 'tb/reverse-midx' 2021-04-08 13:23:25 -07:00
pack-revindex.h pack-revindex.h: correct the time complexity descriptions 2021-09-15 22:16:25 -07:00
pack-write.c Merge branch 'tb/pack-finalize-ordering' into maint 2021-10-12 13:51:46 -07:00
pack.h pack-write: split up finish_tmp_packfile() function 2021-09-09 18:23:11 -07:00
packfile.c Merge branch 'rs/close-pack-leakfix' 2021-10-03 21:49:20 -07:00
packfile.h packfile: convert has_packed_and_bad() to object_id 2021-09-12 16:14:32 -07:00
pager.c pager: avoid setting COLUMNS when we're guessing its value 2021-06-28 10:42:10 -07:00
parallel-checkout.c pkt-line.[ch]: remove unused packet_read_line_buf() 2021-10-15 13:09:40 -07:00
parallel-checkout.h parallel-checkout: support progress displaying 2021-04-19 11:57:05 -07:00
parse-options-cb.c hash: provide per-algorithm null OIDs 2021-04-27 16:31:39 +09:00
parse-options.c Merge branch 'ab/parse-options-cleanup' 2021-11-09 13:19:06 -08:00
parse-options.h Merge branch 'ab/parse-options-cleanup' 2021-11-09 13:19:06 -08:00
patch-delta.c patch-delta: handle truncated copy parameters 2018-08-30 10:30:23 -07:00
patch-ids.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
patch-ids.h patch-ids: handle duplicate hashmap entries 2021-01-12 11:13:32 -08:00
path.c Merge branch 'lh/systemd-timers' 2021-09-20 15:20:40 -07:00
path.h *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
pathspec.c add: skip tracked paths outside sparse-checkout cone 2021-09-28 10:31:02 -07:00
pathspec.h Merge branch 'ds/gender-neutral-doc' 2021-07-16 17:42:53 -07:00
pkt-line.c Merge branch 'ab/pkt-line-cleanup' 2021-10-25 16:07:00 -07:00
pkt-line.h Merge branch 'ab/pkt-line-cleanup' 2021-10-25 16:07:00 -07:00
preload-index.c preload-index: log the number of lstat calls to trace2 2021-02-16 17:14:34 -08:00
pretty.c Merge branch 'hm/paint-hits-in-log-grep' 2021-11-01 13:48:08 -07:00
pretty.h log: avoid loading decorations for userformats that don't need it 2021-06-28 20:30:17 -07:00
prio-queue.c prio-queue: add 'peek' operation 2018-11-02 12:14:21 +09:00
prio-queue.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
progress.c use CALLOC_ARRAY 2021-03-13 16:00:09 -08:00
progress.h progress.c: silence cgcc suggestion about internal linkage 2020-04-27 11:21:28 -07:00
promisor-remote.c Merge branch 'jt/partial-clone-submodule-1' 2021-07-16 17:42:53 -07:00
promisor-remote.h promisor-remote: support per-repository config 2021-06-28 09:57:42 -07:00
prompt.c interactive: explicitly fflush stdout before expecting input 2020-04-10 10:27:16 -07:00
prompt.h interactive: refactor code asking the user for interactive input 2020-04-10 10:26:31 -07:00
protocol-caps.c Merge branch 'ab/serve-cleanup' 2021-09-20 15:20:43 -07:00
protocol-caps.h serve.[ch]: don't pass "struct strvec *keys" to commands 2021-08-05 08:59:37 -07:00
protocol.c connect, protocol: log negotiated protocol version 2021-08-10 11:46:33 -07:00
protocol.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
prune-packed.c Lib-ify prune-packed 2020-03-24 15:04:44 -07:00
prune-packed.h Lib-ify prune-packed 2020-03-24 15:04:44 -07:00
quote.c ref-filter: --format=%(raw) support --perl 2021-07-26 12:01:25 -07:00
quote.h Merge branch 'zh/ref-filter-raw-data' 2021-08-24 15:32:37 -07:00
range-diff.c Merge branch 'rs/range-diff-avoid-segfault-with-I' into maint 2021-10-12 13:51:45 -07:00
range-diff.h Merge branch 'js/range-diff-one-side-only' 2021-02-17 17:21:41 -08:00
reachable.c object.h: add lookup_object_by_type() function 2021-06-28 20:30:18 -07:00
reachable.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
read-cache.c Merge branch 'rs/add-dry-run-without-objects' 2021-10-25 16:06:57 -07:00
README.md ci: retire the Azure Pipelines definition 2020-04-10 10:30:40 -07:00
rebase-interactive.c rebase: remove a no-longer-used function 2021-09-07 21:45:33 -07:00
rebase-interactive.h rebase: remove a no-longer-used function 2021-09-07 21:45:33 -07:00
rebase.c pull: remove support for --rebase=preserve 2021-09-07 21:45:32 -07:00
rebase.h pull: remove support for --rebase=preserve 2021-09-07 21:45:32 -07:00
ref-filter.c i18n: fix typos found during l10n for git 2.34.0 2021-10-31 22:49:49 -07:00
ref-filter.h ref-filter API user: add and use a ref_sorting_release() 2021-10-20 11:36:13 -07:00
reflog-walk.c refs: make repo_dwim_log() accept a NULL oid 2021-08-25 13:27:37 -07:00
reflog-walk.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
refs.c Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
refs.h Merge branch 'jk/ref-paranoia' 2021-10-11 10:21:47 -07:00
refspec.c Merge branch 'fc/atmark-in-refspec' 2020-12-14 10:21:36 -08:00
refspec.h Merge branch 'sb/clone-origin' 2020-10-27 15:09:50 -07:00
RelNotes Git 2.34.1 2021-11-24 10:55:13 -08:00
remote-curl.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
remote.c *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom 2021-09-27 14:47:59 -07:00
remote.h Merge branch 'jt/clone-unborn-head' 2021-02-17 17:21:40 -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 repository.h: don't use a mix of int and bitfields 2021-09-22 13:15:00 -07:00
repository.c Merge branch 'jt/add-submodule-odb-clean-up' 2021-10-06 13:40:11 -07:00
repository.h Merge branch 'ab/repo-settings-cleanup' 2021-10-06 13:40:11 -07:00
rerere.c dir: introduce readdir_skip_dot_and_dotdot() helper 2021-05-27 14:02:37 +09:00
rerere.h rerere.c: remove the_repository references 2018-11-12 14:50:06 +09:00
reset.c Change unpack_trees' 'reset' flag into an enum 2021-09-27 13:38:37 -07:00
reset.h reset: extract reset_head() from rebase 2020-04-10 09:28:02 -07:00
resolve-undo.c Merge branch 'ds/sparse-index-protections' 2021-04-30 13:50:26 +09:00
resolve-undo.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
revision.c Merge branch 'ps/connectivity-optim' 2021-11-12 15:29:24 -08:00
revision.h Merge branch 'jt/add-submodule-odb-clean-up' 2021-10-06 13:40:11 -07:00
run-command.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
run-command.h Merge branch 'jh/builtin-fsmonitor-part1' 2021-10-13 15:15:58 -07:00
SECURITY.md SECURITY: describe how to report vulnerabilities 2021-03-27 15:13:02 -07:00
send-pack.c Merge branch 'fs/ssh-signing' 2021-10-25 16:06:58 -07:00
send-pack.h Add missing includes and forward declarations 2018-08-15 11:52:09 -07:00
sequencer.c run-command API users: use strvec_pushl(), not argv construction 2021-11-25 22:15:07 -08:00
sequencer.h Merge branch 'js/retire-preserve-merges' 2021-10-18 15:47:56 -07:00
serve.c serve: reject commands used as capabilities 2021-09-15 12:25:19 -07:00
serve.h serve.[ch]: remove "serve_options", split up --advertise-refs code 2021-08-05 08:59:37 -07:00
server-info.c *.c static functions: add missing __attribute__((format)) 2021-07-13 15:20:20 -07:00
setup.c setup: use xopen and xdup in sanitize_stdfds 2021-09-09 17:40:02 -07:00
sh-i18n--envsubst.c builtins + test helpers: use return instead of exit() in cmd_* 2021-06-09 09:15:58 +09: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 commit_graft_pos(): take an oid instead of a bare hash 2021-01-28 11:21:07 -08:00
shallow.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
shell.c builtins + test helpers: use return instead of exit() in cmd_* 2021-06-09 09:15:58 +09:00
shortlog.h shortlog: remove unused(?) "repo-abbrev" feature 2021-01-12 14:04:42 -08:00
sideband.c sideband: don't lose clear-to-eol at packet boundary 2021-06-17 14:11:36 +09:00
sideband.h sideband: diagnose more sideband anomalies 2020-10-29 09:23:29 -07:00
sigchain.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
sigchain.h sigchain: move doc to sigchain.h 2019-11-18 15:21:29 +09:00
simple-ipc.h Merge branch 'jh/builtin-fsmonitor-part1' 2021-10-13 15:15:58 -07:00
sparse-index.c Merge branch 'ds/sparse-index-ignored-files' 2021-09-20 15:20:44 -07:00
sparse-index.h sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag 2021-09-07 22:41:10 -07:00
split-index.c split-index: use oideq instead of memcmp to compare object_id's 2021-06-15 12:07:56 +09:00
split-index.h split-index: convert struct split_index to object_id 2018-05-02 13:59:50 +09:00
stable-qsort.c Move git_sort(), a stable sort, into into libgit.a 2019-10-02 14:44:51 +09:00
strbuf.c merge-{ort,recursive}: remove add_submodule_odb() 2021-10-08 15:06:06 -07:00
strbuf.h Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
streaming.c object-file.c: stop dying in parse_loose_header() 2021-10-01 15:06:00 -07:00
streaming.h streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
string-list.c string-list.[ch]: remove string_list_init() compatibility function 2021-09-28 14:43:38 -07:00
string-list.h string-list.[ch]: remove string_list_init() compatibility function 2021-09-28 14:43:38 -07:00
strmap.c *.c *_init(): define in terms of corresponding *_INIT macro 2021-07-01 12:32:22 -07:00
strmap.h strmap: make callers of strmap_remove() to call it in void context 2020-12-15 15:30:44 -08:00
strvec.c *.c *_init(): define in terms of corresponding *_INIT macro 2021-07-01 12:32:22 -07:00
strvec.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -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 hashmap_entry: remove first member requirement from docs 2019-10-07 10:20:12 +09:00
submodule-config.c submodule-config: pass repo upon blob config read 2021-09-08 11:48:09 -07:00
submodule-config.h submodule-config.h: remove unused SUBMODULE_INIT macro 2021-09-27 14:47:59 -07:00
submodule.c Merge branch 'jt/no-abuse-alternate-odb-for-submodules' 2021-10-25 16:06:56 -07:00
submodule.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
symlinks.c checkout: don't follow symlinks when removing entries 2021-03-18 12:58:10 -07:00
tag.c gpg-interface: improve interface for parsing tags 2021-02-10 23:35:42 -08:00
tag.h tag: factor out get_tagged_oid() 2019-09-05 14:10:18 -07:00
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.c: introduce 'create_tempfile_mode' 2020-04-27 11:27:35 -07:00
tempfile.h tempfile.c: introduce 'create_tempfile_mode' 2020-04-27 11:27:35 -07:00
thread-utils.c thread-utils: macros to unconditionally compile pthreads API 2018-10-29 11:22:48 +09:00
thread-utils.h thread-utils: macros to unconditionally compile pthreads API 2018-10-29 11:22:48 +09:00
tmp-objdir.c packfile: prepare for the existence of '*.rev' files 2021-01-25 18:32:43 -08:00
tmp-objdir.h tmp-objdir: introduce API for temporary object directories 2016-10-10 13:54:02 -07:00
trace2.c trace2: add trace2_child_ready() to report on background children 2021-09-20 08:57:58 -07:00
trace2.h Merge branch 'jh/builtin-fsmonitor-part1' 2021-10-13 15:15:58 -07:00
trace.c http, imap-send: stop using CURLOPT_VERBOSE 2020-05-11 11:18:01 -07:00
trace.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
trailer.c trailer: add new .cmd config option 2021-05-04 12:09:43 +09:00
trailer.h pretty format %(trailers): add a "key_value_separator" 2020-12-09 14:16:42 -08:00
transport-helper.c Merge branch 'jk/http-push-status-fix' 2021-10-29 15:43:12 -07:00
transport-internal.h transport: rename "fetch" in transport_vtable to "fetch_refs" 2021-08-05 08:59:36 -07:00
transport.c hook.[ch]: move find_hook() from run-command.c to hook.c 2021-09-27 09:44:54 -07:00
transport.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
tree-diff.c tree-diff: fix leak when not HAVE_ALLOCA_H 2021-09-16 13:43:42 -07:00
tree-walk.c Always use oidread to read into struct object_id 2021-04-27 16:31:38 +09:00
tree-walk.h tree-walk.c: break circular dependency with unpack-trees 2020-02-04 10:32:15 -08:00
tree.c tree.h API: simplify read_tree_recursive() signature 2021-03-20 16:09:26 -07:00
tree.h tree.h API: simplify read_tree_recursive() signature 2021-03-20 16:09:26 -07:00
unicode-width.h unicode: update the width tables to Unicode 14 2021-09-17 17:26:21 -07:00
unimplemented.sh unimplemented.sh: use the $( ... ) construct for command substitution 2015-12-27 15:33:13 -08:00
unix-socket.c unix-socket: disallow chdir() when creating unix domain sockets 2021-03-15 14:32:51 -07:00
unix-socket.h unix-socket: disallow chdir() when creating unix domain sockets 2021-03-15 14:32:51 -07:00
unix-stream-server.c unix-stream-server: create unix domain socket under lock 2021-03-15 14:32:51 -07:00
unix-stream-server.h unix-stream-server: create unix domain socket under lock 2021-03-15 14:32:51 -07:00
unpack-trees.c Merge branch 'ab/unpack-trees-leakfix' 2021-10-25 16:06:56 -07:00
unpack-trees.h Change unpack_trees' 'reset' flag into an enum 2021-09-27 13:38:37 -07:00
upload-pack.c run-command API users: use strvec_pushl(), not argv construction 2021-11-25 22:15:07 -08:00
upload-pack.h serve.[ch]: remove "serve_options", split up --advertise-refs code 2021-08-05 08:59:37 -07:00
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: handle credential.<partial-URL>.<key> again 2020-04-24 15:53:46 -07:00
urlmatch.h urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT 2021-10-01 14:22:51 -07:00
usage.c usage.c: don't copy/paste the same comment three times 2021-04-13 14:56:28 -07:00
userdiff.c userdiff-cpp: back out the digit-separators in numbers 2021-10-25 08:47:44 -07:00
userdiff.h userdiff: add and use for_each_userdiff_driver() 2021-04-08 12:19:10 -07:00
utf8.c t0060: test ntfs/hfs-obscured dotfiles 2021-05-04 11:52:02 +09:00
utf8.h t0060: test ntfs/hfs-obscured dotfiles 2021-05-04 11:52:02 +09:00
varint.c cleanups: ensure that git-compat-util.h is included first 2014-09-15 12:05:14 -07:00
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 config: don't include config.h by default 2017-06-15 12:56:22 -07:00
walker.c lookup_unknown_object(): take a repository argument 2021-04-13 13:18:46 -07:00
walker.h remote-curl: show progress for fetches over dumb HTTP 2020-03-03 13:15:40 -08:00
wildmatch.c wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode 2018-10-29 13:19:22 +09:00
wildmatch.h wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode 2018-10-29 13:19:22 +09:00
worktree.c *.c static functions: add missing __attribute__((format)) 2021-07-13 15:20:20 -07:00
worktree.h worktree: teach worktree to lazy-load "prunable" reason 2021-01-30 09:57:16 -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 wrapper: remove xunsetenv() 2021-10-29 14:59:29 -07:00
write-or-die.c pkt-line: add stdio packet write functions 2021-09-01 10:20:39 -07:00
ws.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
wt-status.c advice: remove read uses of most global advice_ variables 2021-08-25 12:07:52 -07:00
wt-status.h status: skip sparse-checkout percentage with sparse-index 2021-07-14 13:42:49 -07:00
xdiff-interface.c Merge branch 'ab/pickaxe-pcre2' 2021-07-13 16:52:50 -07:00
xdiff-interface.h xdiff-interface: replace discard_hunk_line() with a flag 2021-05-11 12:47:31 +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