Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Jeff King 29ae2c9e74 add basic http proxy tests
We do not test our http proxy functionality at all in the test suite, so
this is a pretty big blind spot. Let's at least add a basic check that
we can go through an authenticating proxy to perform a clone.

A few notes on the implementation:

  - I'm using a single apache instance to proxy to itself. This seems to
    work fine in practice, and we can check with a test that this rather
    unusual setup is doing what we expect.

  - I've put the proxy tests into their own script, and it's the only
    one which loads the apache proxy config. If any platform can't
    handle this (e.g., doesn't have the right modules), the start_httpd
    step should fail and gracefully skip the rest of the script (but all
    the other http tests in existing scripts will continue to run).

  - I used a separate passwd file to make sure we don't ever get
    confused between proxy and regular auth credentials. It's using the
    antiquated crypt() format. This is a terrible choice security-wise
    in the modern age, but it's what our existing passwd file uses, and
    should be portable. It would probably be reasonable to switch both
    of these to bcrypt, but we can do that in a separate patch.

  - On the client side, we test two situations with credentials: when
    they are present in the url, and when the username is present but we
    prompt for the password. I think we should be able to handle the
    case that _neither_ is present, but an HTTP 407 causes us to prompt
    for them. However, this doesn't seem to work. That's either a bug,
    or at the very least an opportunity for a feature, but I punted on
    it for now. The point of this patch is just getting basic coverage,
    and we can explore possible deficiencies later.

  - this doesn't work with LIB_HTTPD_SSL. This probably would be
    valuable to have, as https over an http proxy is totally different
    (it uses CONNECT to tunnel the session). But adding in
    mod_proxy_connect and some basic config didn't seem to work for me,
    so I punted for now. Much of the rest of the test suite does not
    currently work with LIB_HTTPD_SSL either, so we shouldn't be making
    anything much worse here.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-02-16 16:24:23 -08:00
.github Merge branch 'tb/ci-concurrency' into maint-2.39 2023-02-14 14:15:46 -08:00
block-sha1 Makefile + hash.h: remove PPC_SHA1 implementation 2022-08-31 14:37:31 -07:00
builtin Merge branch 'ab/retire-scripted-add-p' 2023-02-15 17:11:53 -08:00
ci add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
compat Merge branch 'sk/winansi-createthread-fix' 2023-02-09 14:40:47 -08:00
contrib use DUP_ARRAY 2023-01-09 13:28:36 +09:00
Documentation The sixteenth batch 2023-02-15 17:11:54 -08:00
ewah Merge branch 'ep/maint-equals-null-cocci' 2022-05-20 15:26:59 -07:00
git-gui Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 2022-12-01 07:24:12 +09:00
gitk-git Merge branch 'master' of git://git.ozlabs.org/~paulus/gitk 2022-05-11 08:25:02 -07:00
gitweb Merge branch 'jr/gitweb-title-shortening' 2022-08-05 15:52:14 -07:00
mergetools mergetools: vimdiff: simplify tabfirst 2022-08-10 12:39:39 -07:00
negotiator negotiator/skipping: avoid stack overflow 2022-10-25 17:14:40 -07:00
oss-fuzz Merge branch 'ac/fuzzers' 2022-10-07 17:19:59 -07:00
perl Git.pm: trust rev-parse to find bare repositories 2022-10-22 16:39:48 -07:00
po l10n: zh_TW.po: Git 2.39-rc2 2022-12-11 01:27:25 +08:00
refs Merge branch 'ps/fsync-refs-fix' into maint-2.39 2023-02-14 14:15:50 -08:00
reftable reftable: use a pointer for pq_entry param 2022-09-15 11:32:37 -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 sha256: add support for Nettle 2022-07-10 14:43:34 -07:00
t add basic http proxy tests 2023-02-16 16:24:23 -08:00
templates fsmonitor: query watchman with right valid json 2022-06-07 10:00:49 -07:00
trace2 trace2: add global counter mechanism 2022-10-24 12:45:26 -07:00
xdiff xdiff: mark unused parameter in xdl_call_hunk_func() 2022-12-13 22:16:23 +09:00
.cirrus.yml ci: update Cirrus-CI image to FreeBSD 12.3 2022-05-25 08:47:11 -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 .gitattributes: include text attribute for eol attributes 2023-02-06 13:57:08 -08:00
.gitignore add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
.gitmodules sha1dc: optionally use sha1collisiondetection as a submodule 2017-07-03 10:09:34 -07:00
.mailmap mailmap: update email address of Matheus Tavares 2022-12-10 09:17:36 +09: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 diff: mark unused parameters in callbacks 2022-12-13 22:16:23 +09: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 read-cache API & users: make discard_index() return void 2022-11-21 12:06:15 +09:00
advice.c advice.h: add advise_on_moving_dirty_path() 2022-08-10 13:57:50 -07:00
advice.h advice.h: add advise_on_moving_dirty_path() 2022-08-10 13:57:50 -07:00
alias.c alias.c: reject too-long cmdline strings in split_cmdline() 2022-10-01 00:23:38 -04:00
alias.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
alloc.c alloc.[ch]: remove alloc_report() function 2022-04-01 10:16:11 -07:00
alloc.h alloc.[ch]: remove alloc_report() function 2022-04-01 10:16:11 -07:00
apply.c Merge branch 'jk/unused-post-2.39' into maint-2.39 2023-02-14 14:15:55 -08:00
apply.h range-diff: plug memory leak in common invocation 2022-03-04 13:24:19 -08:00
archive-tar.c archive-tar: report filter start error only once 2022-10-30 19:50:43 -04:00
archive-zip.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
archive.c attr: add flag --source to work with tree-ish 2023-01-14 08:49:55 -08:00
archive.h archive: rename archiver data field to filter_command 2022-06-15 13:19:46 -07:00
attr.c Merge branch 'kn/attr-from-tree' 2023-01-23 13:39:51 -08:00
attr.h attr: fix instructions on how to check attrs 2023-01-26 14:16:48 -08:00
banned.h C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code 2022-02-21 19:14:19 -08:00
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c bisect: no longer try to clean up left-over .git/head-name files 2023-01-13 14:17:14 -08:00
bisect.h bisect: output state before we are ready to compute bisection 2022-05-11 12:35:11 -07:00
blame.c Merge branch 'rs/mergesort' 2022-08-03 13:36:09 -07:00
blame.h blame: simplify 'setup_blame_bloom_data' interface 2020-11-01 15:54:15 -08:00
blob.c blob: drop unused parts of parse_blob_buffer() 2022-12-13 22:16:22 +09:00
blob.h blob: drop unused parts of parse_blob_buffer() 2022-12-13 22:16:22 +09:00
bloom.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
bloom.h bloom: encode out-of-bounds filters as non-empty 2020-09-17 21:55:50 -07:00
branch.c branch: improve advice when --recurse-submodules fails 2023-01-18 15:13:21 -08:00
branch.h Merge branch 'ds/branch-checked-out' into ds/rebase-update-ref 2022-07-12 08:38:42 -07:00
builtin.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
bulk-checkin.c t5351: avoid relying on core.fsyncMethod = batch to be supported 2022-07-29 09:08:57 -07:00
bulk-checkin.h core.fsyncmethod: batched disk flushes for loose-objects 2022-04-06 13:13:01 -07:00
bundle-uri.c Merge branch 'ds/bundle-uri-5' 2023-02-15 17:11:52 -08:00
bundle-uri.h clone: set fetch.bundleURI if appropriate 2023-01-31 08:57:48 -08:00
bundle.c bundle: verify using check_connected() 2023-01-31 08:57:47 -08:00
bundle.h Merge branch 'ds/bundle-uri-3' 2022-10-30 21:04:44 -04:00
cache-tree.c *: fix typos which duplicate a word 2023-01-08 10:28:34 +09:00
cache-tree.h cache-tree: remove cache_tree_find_path() 2022-06-16 11:59:56 -07:00
cache.h Merge branch 'rs/size-t-fixes' 2023-02-15 17:11:53 -08:00
cbtree.c cbtree: remove broken and unused cb_unlink 2021-12-07 15:18:35 -08:00
cbtree.h cbtree: remove broken and unused cb_unlink 2021-12-07 15:18:35 -08: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 chunk-format.h: extract oid_version() 2022-05-26 15:48:26 -07:00
chunk-format.h chunk-format.h: extract oid_version() 2022-05-26 15:48:26 -07:00
CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md: update PLC members list 2022-02-18 12:36:29 -08:00
color.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
color.h color: allow colors to be prefixed with "reset" 2021-10-28 09:37:18 -07:00
column.c utf8: fix truncated string lengths in utf8_strnwidth() 2022-12-09 14:26:21 +09:00
column.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
combine-diff.c diff: mark unused parameters in callbacks 2022-12-13 22:16:23 +09:00
command-list.txt version: fix builtin linking & documentation 2022-09-19 17:28:25 -07:00
commit-graph.c use DUP_ARRAY 2023-01-09 13:28:36 +09:00
commit-graph.h Merge branch 'tb/commit-graph-genv2-upgrade-fix' 2022-08-03 13:36:08 -07:00
commit-reach.c use DUP_ARRAY 2023-01-09 13:28:36 +09: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 Merge branch 'rs/clear-commit-marks-cleanup' into maint-2.39 2023-02-14 14:15:56 -08:00
commit.h add API: remove run_add_interactive() wrapper function 2023-02-06 15:03:34 -08:00
common-main.c grep: fix multibyte regex handling under macOS 2022-08-26 11:45:52 -07:00
config.c *: fix typos which duplicate a word 2023-01-08 10:28:34 +09:00
config.h config.h: remove unused git_configset_add_parameters() 2023-02-07 10:50:27 -08:00
config.mak.dev config.mak.dev: disable suggest braces error on old clang versions 2022-10-10 11:15:31 -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 'hj/remove-msys-support' 2023-02-09 14:40:47 -08:00
configure.ac Makefile + hash.h: remove PPC_SHA1 implementation 2022-08-31 14:37:31 -07:00
connect.c Merge branch 'ds/bundle-uri-4' 2023-01-02 21:37:18 +09:00
connect.h server_supports_v2(): use a separate function for die_on_error 2022-12-13 22:08:52 +09:00
connected.c Merge branch 'ab/various-leak-fixes' 2022-12-14 15:55:46 +09:00
connected.h receive-pack: only use visible refs for connectivity check 2022-11-17 16:22:52 -05:00
convert.c attr: add flag --source to work with tree-ish 2023-01-14 08:49:55 -08:00
convert.h checkout: fix two bugs on the final count of updated entries 2022-07-14 10:19:28 -07: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.c: add and use a *_release() function 2022-03-04 13:24:18 -08:00
credential.h *.h: move some *_INIT to designated initializers 2021-07-01 12:31:45 -07:00
csum-file.c hashfile: allow skipping the hash function 2023-01-07 07:46:14 +09:00
csum-file.h hashfile: allow skipping the hash function 2023-01-07 07:46:14 +09:00
ctype.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
daemon.c daemon: clarify directory arguments 2022-07-19 12:45:31 -07:00
date.c date.c: allow ISO 8601 reduced precision times 2023-01-13 11:49:04 -08:00
date.h date API: add and use a date_mode_release() 2022-02-16 09:40:00 -08: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 delta-islands: free island_marks and bitmaps 2023-02-03 18:01:46 -08:00
delta-islands.h delta-islands: free island_marks and bitmaps 2023-02-03 18:01:46 -08:00
delta.h odb: guard against data loss checking out a huge file 2021-11-03 11:22:27 -07:00
detect-compiler detect-compiler: make detection independent of locale 2022-05-09 08:52:26 -07:00
diagnose.c diagnose.c: refactor to safely use 'd_type' 2022-09-19 10:25:01 -07:00
diagnose.h builtin/diagnose.c: add '--mode' option 2022-08-12 13:20:02 -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 diff: mark unused parameters in callbacks 2022-12-13 22:16:23 +09:00
diff-merges.c diff-merges: cleanup set_diff_merges() 2022-09-16 09:21:43 -07:00
diff-merges.h diff-index: restore -c/--cc options handling 2021-09-07 11:11:35 -07:00
diff-no-index.c diff: factor out add_diff_options() 2022-12-02 08:25:29 +09:00
diff.c Merge branch 'jk/unused-post-2.39' into maint-2.39 2023-02-14 14:15:55 -08:00
diff.h Merge branch 'rs/diff-parseopts' 2022-12-19 11:46:17 +09:00
diffcore-break.c diff: restrict when prefetching occurs 2020-04-07 16:09:29 -07:00
diffcore-delta.c diffcore-delta.c: LLP64 compatibility, upcast unity for left shift 2021-12-01 14:48:10 -08:00
diffcore-order.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
diffcore-pickaxe.c diffcore-pickaxe: mark unused parameters in pickaxe functions 2022-10-17 21:24:04 -07:00
diffcore-rename.c object-file API: have hash_object_file() take "enum object_type" 2022-02-25 17:16:32 -08:00
diffcore-rotate.c diff: --{rotate,skip}-to=<path> 2021-02-16 09:30:42 -08:00
diffcore.h line-log: free diff queue when processing non-merge commits 2022-11-02 20:16:34 -04:00
dir-iterator.c dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS 2023-01-24 16:52:16 -08:00
dir-iterator.h dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS 2023-01-24 16:52:16 -08:00
dir.c Merge branch 'ws/single-file-cone' 2023-01-16 12:07:47 -08:00
dir.h dir.c: free "ident" and "exclude_per_dir" in "struct untracked_cache" 2022-11-21 12:32:48 +09:00
editor.c run-command API: rename "env_array" to "env" 2022-06-02 14:31:16 -07:00
entry.c read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
entry.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
environment.c read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
environment.h environment: make getenv_safe() a public function 2021-01-15 13:03:45 -08:00
exec-cmd.c mark unused parameters in trivial compat functions 2022-10-17 21:24:03 -07:00
exec-cmd.h argv-array: rename to strvec 2020-07-28 15:02:17 -07:00
fetch-negotiator.c fetch-negotiator: add specific noop initializer 2022-03-28 10:25:52 -07:00
fetch-negotiator.h fetch-negotiator: add specific noop initializer 2022-03-28 10:25:52 -07:00
fetch-pack.c server_supports_v2(): use a separate function for die_on_error 2022-12-13 22:08:52 +09:00
fetch-pack.h fetch-pack: add refetch 2022-03-28 10:25:52 -07:00
fmt-merge-msg.c revisions API users: add straightforward release_revisions() 2022-04-13 23:56:08 -07:00
fmt-merge-msg.h merge: allow to pretend a merge is made into a different branch 2021-12-20 14:55:02 -08:00
fsck.c fsck: do not assume NUL-termination of buffers 2023-01-19 15:39:43 -08:00
fsck.h fsck: provide a function to fsck buffer without object struct 2023-01-18 12:59:44 -08:00
fsmonitor--daemon.h fsmonitor: deal with synthetic firmlinks on macOS 2022-10-05 11:05:23 -07:00
fsmonitor-ipc.c replace and remove run_command_v_opt_tr2() 2022-10-30 14:04:48 -04:00
fsmonitor-ipc.h fsmonitor: relocate socket file if .git directory is remote 2022-10-05 11:05:22 -07:00
fsmonitor-path-utils.h fsmonitor: deal with synthetic firmlinks on macOS 2022-10-05 11:05:23 -07:00
fsmonitor-settings.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
fsmonitor-settings.h fsmonitor: check for compatability before communicating with fsmonitor 2022-10-05 11:05:23 -07:00
fsmonitor.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
fsmonitor.h fsmonitor: never set CE_FSMONITOR_VALID on submodules 2022-05-26 15:59:27 -07:00
generate-cmdlist.sh generate-cmdlist.sh: don't parse command-list.txt thrice 2021-11-05 12:01:13 -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 grep: fix multibyte regex handling under macOS 2022-08-26 11:45:52 -07:00
gettext.h gettext: remove optional non-standard parens in N_() definition 2021-09-03 11:40:30 -07:00
git-archimport.perl archimport: use safe_pipe_capture for user input 2017-09-12 11:08:15 +09:00
git-compat-util.h Merge branch 'rs/use-enhanced-bre-on-macos' into maint-2.39 2023-02-14 14:15:49 -08:00
git-curl-compat.h http: support CURLOPT_PROTOCOLS_STR 2023-02-06 09:27:09 +01: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: clarify directory list 2022-07-19 12:45:31 -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 git-sh-setup: remove "sane_grep", it's not needed anymore 2021-10-21 16:17:57 -07:00
git-instaweb.sh git-sh-setup.sh: remove "say" function, change last users 2022-06-28 13:13:18 -07: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 merge-resolve: abort if index does not match HEAD 2022-07-22 21:45:22 -07:00
git-mergetool--lib.sh vimdiff: add tool documentation 2022-04-03 15:09:52 -07:00
git-mergetool.sh mergetool: do not enable hideResolved by default 2021-03-13 15:30:29 -08:00
git-p4.py Merge branch 'kk/p4-client-name-encoding-fix' into maint 2022-08-10 21:52:33 -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: filter out SSH/X.509 tag signatures 2023-01-25 15:54:41 -08:00
git-send-email.perl send-email: relay '-v N' to format-patch 2022-11-27 10:21:43 +09:00
git-sh-i18n.sh git-sh-i18n: remove unused eval_ngettext() 2021-10-21 16:04:29 -07:00
git-sh-setup.sh git-sh-setup.sh: remove "say" function, change last users 2022-06-28 13:13:18 -07:00
git-submodule.sh Merge branch 'ss/pull-v-recurse-fix' 2022-12-28 12:06:17 +09:00
git-svn.perl git-svn: drop support for --preserve-merges 2021-09-07 21:45:33 -07:00
GIT-VERSION-GEN Prepare for 2.39.3 just in case 2023-02-14 14:15:57 -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 'ab/test-env-helper' 2023-01-23 13:39:51 -08: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 ssh signing: better error message when key not in agent 2023-01-25 08:59:51 -08:00
gpg-interface.h gpg-interface: add function for converting trust level to string 2022-07-10 22:10:23 -07:00
graph.c log: fix memory leak if --graph is passed multiple times 2022-02-11 10:06:40 -08:00
graph.h log: fix memory leak if --graph is passed multiple times 2022-02-11 10:06:40 -08:00
grep.c Merge branch 'cb/grep-fallback-failing-jit' 2023-02-15 17:11:51 -08:00
grep.h Merge branch 'ab/grep-simplify-extended-expression' 2022-10-21 11:37:28 -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 Makefile + hash.h: remove PPC_SHA1 implementation 2022-08-31 14:37:31 -07:00
hashmap.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
hashmap.h hashmap: provide deallocation function names 2020-11-02 12:15:50 -08:00
help.c help.c: fix autocorrect in work tree for bare repository 2022-12-13 10:01:53 +09:00
help.h git docs: add a category for file formats, protocols and interfaces 2022-08-04 14:12:23 -07:00
hex.c hex: print objects using the hash algorithm member 2021-04-27 16:31:39 +09:00
hook.c run-command API: have run_process_parallel() take an "opts" struct 2022-10-12 14:12:41 -07:00
hook.h hooks: fix an obscure TOCTOU "did we just run a hook?" race 2022-03-07 13:00:53 -08:00
http-backend.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
http-fetch.c http-fetch: invoke trace2_cmd_name() 2022-12-13 10:43:07 +09:00
http-push.c Sync with 2.36.5 2023-02-06 09:38:31 +01:00
http-walker.c tree-wide: apply equals-null.cocci 2022-05-02 09:50:37 -07:00
http.c Sync with 2.38.4 2023-02-06 09:43:39 +01:00
http.h Sync with 2.37.6 2023-02-06 09:43:28 +01:00
ident.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
imap-send.c Merge branch 'bc/csprng-mktemps' 2022-04-06 15:21:59 -07:00
INSTALL add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08: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 tree-wide: apply equals-null.cocci 2022-05-02 09:50:37 -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 line-log: free the diff queues' arrays when processing merge commits 2022-11-02 20:16:34 -04: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: fix infinite loop bug with '$' regex 2022-12-20 10:00:43 +09: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 list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() 2022-11-30 10:00:35 +09:00
list-objects-filter-options.h list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() 2022-11-30 10:00:35 +09:00
list-objects-filter.c Merge branch 'jk/unused-post-2.39' into maint-2.39 2023-02-14 14:15:55 -08: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: drop process_gitlink() function 2022-12-13 22:16:22 +09:00
list-objects.h list-objects: consolidate traverse_commit_list[_filtered] 2022-03-09 10:25:27 -08:00
list.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
ll-merge.c attr: add flag --source to work with tree-ish 2023-01-14 08:49:55 -08:00
ll-merge.h ll-merge: make callers responsible for showing warnings 2022-02-02 10:02:27 -08: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 'ab/unused-annotation' 2022-09-14 12:56:39 -07:00
log-tree.h log-tree.h: remove unused function declarations 2021-10-01 14:39:46 -07:00
ls-refs.c ls-refs: use repository parameter to iterate refs 2022-12-13 22:16:22 +09:00
ls-refs.h serve.[ch]: don't pass "struct strvec *keys" to commands 2021-08-05 08:59:37 -07:00
mailinfo.c mailinfo -b: fix an out of bounds access 2022-10-03 09:05:07 -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 'ep/maint-equals-null-cocci' 2022-05-20 15:26:59 -07:00
mailmap.h shortlog: remove unused(?) "repo-abbrev" feature 2021-01-12 14:04:42 -08:00
Makefile add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" 2023-02-06 15:03:34 -08:00
match-trees.c object-file API: have write_object_file() take "enum object_type" 2022-02-25 17:16:31 -08:00
mem-pool.c mem-pool: don't assume uintmax_t is aligned enough for all types 2022-01-24 10:26:40 -08:00
mem-pool.h mem-pool: use consistent pool variable name 2020-08-18 12:16:08 -07:00
merge-blobs.c ll-merge: make callers responsible for showing warnings 2022-02-02 10:02:27 -08:00
merge-blobs.h *.[ch]: manually align parameter lists 2019-05-05 15:20:10 +09:00
merge-ort-wrappers.c merge-ort-wrappers: make printed message match the one from recursive 2022-07-22 21:45:22 -07: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 'en/ort-dir-rename-and-symlink-fix' 2022-10-30 21:04:43 -04:00
merge-ort.h merge-ort: optionally produce machine-readable output 2022-06-22 16:10:06 -07:00
merge-recursive.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
merge-recursive.h merge-ort: format messages slightly different for use in headers 2022-02-02 10:02:27 -08:00
merge.c use child_process members "args" and "env" directly 2022-10-30 14:04:40 -04:00
mergesort.h mergesort: remove llist_mergesort() 2022-07-17 15:20:39 -07:00
midx.c Merge branch 'tb/midx-bitmap-selection-fix' 2022-10-27 14:51:52 -07:00
midx.h pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests 2022-08-26 10:13:54 -07:00
name-hash.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
notes-cache.c object-file API: have write_object_file() take "enum object_type" 2022-02-25 17:16:31 -08:00
notes-cache.h notes-cache.c: remove the_repository references 2018-11-12 14:50:06 +09:00
notes-merge.c misc *.c: use designated initializers for struct assignments 2022-03-17 10:36:42 -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 Merge branch 'ab/unused-annotation' 2022-09-14 12:56:39 -07:00
notes.h Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
object-file.c Merge branch 'jk/hash-object-fsck' 2023-01-30 14:24:22 -08:00
object-name.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
object-store.h repo_read_object_file(): stop wrapping read_object_file_extended() 2023-01-08 10:52:55 +09:00
object.c blob: drop unused parts of parse_blob_buffer() 2022-12-13 22:16:22 +09:00
object.h parse_object(): allow skipping hash check 2022-09-07 12:18:57 -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 git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07: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-write.c: instrument number of reused bitmaps 2022-10-13 13:35:08 -07:00
pack-bitmap.c pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found 2022-11-29 09:54:56 +09:00
pack-bitmap.h pack-bitmap: prepare to read lookup table extension 2022-08-26 10:13:58 -07:00
pack-check.c object-file API: have hash_object_file() take "enum object_type" 2022-02-25 17:16:32 -08:00
pack-mtimes.c pack-mtimes: avoid closing a bogus file descriptor 2022-06-16 13:22:03 -07:00
pack-mtimes.h pack-mtimes: support reading .mtimes files 2022-05-26 15:48:26 -07:00
pack-objects.c pack-mtimes: support writing pack .mtimes files 2022-05-26 15:48:26 -07:00
pack-objects.h pack-objects.h: remove outdated pahole results 2022-06-28 15:39:03 -07:00
pack-revindex.c midx: read RIDX chunk when present 2022-01-27 12:07:53 -08:00
pack-revindex.h docs: move pack format docs to man section 5 2022-08-04 14:12:24 -07:00
pack-write.c git: remove duplicate includes 2022-12-15 09:09:38 +09:00
pack.h pack-mtimes: support writing pack .mtimes files 2022-05-26 15:48:26 -07:00
packfile.c packfile: inline custom read_object() 2023-01-08 10:52:55 +09:00
packfile.h Merge branch 'tb/pack-revindex-on-disk-cleanup' 2021-12-15 09:39:50 -08:00
pager.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
parallel-checkout.c checkout: fix two bugs on the final count of updated entries 2022-07-14 10:19:28 -07:00
parallel-checkout.h checkout: fix two bugs on the final count of updated entries 2022-07-14 10:19:28 -07:00
parse-options-cb.c branch: add flags and config to inherit tracking 2021-12-20 22:40:21 -08:00
parse-options.c use DUP_ARRAY 2023-01-09 13:28:36 +09:00
parse-options.h submodule--helper: don't use global --super-prefix in "absorbgitdirs" 2022-12-26 10:21:43 +09:00
patch-delta.c patch-delta: handle truncated copy parameters 2018-08-30 10:30:23 -07:00
patch-ids.c Merge branch 'jz/patch-id' 2022-10-30 21:04:41 -04:00
patch-ids.h patch-id: use stable patch-id for rebases 2022-10-24 15:44:19 -07:00
path.c adjust_shared_perm(): leave g+s alone when the group does not matter 2022-10-28 14:55:27 -07:00
path.h repository.c: free the "path cache" in repo_clear() 2022-03-04 13:24:19 -08:00
pathspec.c docs & comments: replace mentions of "git-add--interactive.perl" 2023-02-06 15:03:34 -08:00
pathspec.h pathspec.h: move pathspec_needs_expanded_index() from reset.c to here 2022-08-08 13:23:26 -07:00
pkt-line.c t0021: implementation the rot13-filter.pl script in C 2022-08-14 22:57:12 -07:00
pkt-line.h Merge branch 'mt/rot13-in-c' 2022-08-29 14:55:11 -07:00
preload-index.c preload-index: fix memleak 2022-08-22 15:08:30 -07:00
pretty.c Sync with Git 2.37.5 2022-12-13 21:23:36 +09:00
pretty.h date API: create a date.h, split from cache.h 2022-02-16 09:40:00 -08:00
prio-queue.c tree-wide: apply equals-null.cocci 2022-05-02 09:50:37 -07:00
prio-queue.h *.[ch]: remove extern from function declarations using spatch 2019-05-05 15:20:06 +09:00
progress.c progress API: unify stop_progress{,_msg}(), fix trace2 bug 2022-02-03 15:39:59 -08:00
progress.h progress API: unify stop_progress{,_msg}(), fix trace2 bug 2022-02-03 15:39:59 -08:00
promisor-remote.c promisor-remote: die upon failing fetch 2022-10-05 11:06:53 -07:00
promisor-remote.h promisor-remote: remove a return value 2022-10-05 11:06:52 -07:00
prompt.c run-command API users: use strvec_push(), not argv construction 2021-11-25 22:15:07 -08: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 diff: mark unused parameters in callbacks 2022-12-13 22:16:23 +09:00
range-diff.h Merge branch 'js/range-diff-one-side-only' 2021-02-17 17:21:41 -08:00
reachable.c reachable: report precise timestamps from objects in cruft packs 2022-05-26 15:48:26 -07:00
reachable.h builtin/pack-objects.c: --cruft with expiration 2022-05-26 15:48:26 -07:00
read-cache.c Merge branch 'rs/size-t-fixes' 2023-02-15 17:11:53 -08:00
README.md Merge branch 'po/readme-mention-contributor-hints' 2022-02-09 14:20:59 -08:00
rebase-interactive.c sequencer: rewrite update-refs as user edits todo list 2022-07-19 12:49:04 -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 convert trivial uses of strncmp() to starts_with() 2023-01-08 10:34:35 +09:00
ref-filter.h for-each-ref: delay parsing of --sort=<atom> options 2021-10-20 14:33:07 -07:00
reflog-walk.c string-list: mark unused callback parameters 2022-10-17 21:24:04 -07:00
reflog-walk.h revisions API: release "reflog_info" in release revisions() 2022-04-13 23:56:10 -07:00
reflog.c Merge branch 'rs/reflog-expiry-cleanup' into maint-2.39 2023-02-14 14:15:56 -08:00
reflog.h reflog: libify delete reflog function and helpers 2022-03-02 15:24:47 -08:00
refs.c ls-refs: use repository parameter to iterate refs 2022-12-13 22:16:22 +09:00
refs.h ls-refs: use repository parameter to iterate refs 2022-12-13 22:16:22 +09:00
refspec.c refspec.c: use designated initializers for "struct refspec_item" 2022-02-24 15:59:53 -08:00
refspec.h docs: move protocol-related docs to man section 5 2022-08-04 14:12:23 -07:00
RelNotes Prepare for 2.39.3 just in case 2023-02-14 14:15:57 -08:00
remote-curl.c Sync with 2.37.6 2023-02-06 09:43:28 +01:00
remote.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
remote.h clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
replace-object.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
replace-object.h replace-object: make replace operations thread-safe 2020-01-17 13:52:14 -08:00
repo-settings.c features: feature.manyFiles implies fast index writes 2023-01-07 07:46:14 +09:00
repository.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
repository.h features: feature.manyFiles implies fast index writes 2023-01-07 07:46:14 +09:00
rerere.c Merge branch 'ep/maint-equals-null-cocci' 2022-05-20 15:26:59 -07:00
rerere.h rerere.c: remove the_repository references 2018-11-12 14:50:06 +09:00
reset.c rebase: use 'skip_cache_tree_update' option 2022-11-10 21:49:34 -05:00
reset.h rebase --apply: set ORIG_HEAD correctly 2022-01-26 12:08:53 -08: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 treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
revision.h Merge branch 'ps/receive-use-only-advertised' 2022-11-23 11:22:25 +09:00
run-command.c *: fix typos which duplicate a word 2023-01-08 10:28:34 +09:00
run-command.h Merge branch 'rs/no-more-run-command-v' 2022-11-08 17:15:12 -05:00
scalar.c scalar: only warn when background maintenance fails 2023-01-27 12:38:26 -08:00
SECURITY.md SECURITY: describe how to report vulnerabilities 2021-03-27 15:13:02 -07:00
send-pack.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
send-pack.h send-pack.c: add config push.useBitmaps 2022-06-17 14:31:01 -07:00
sequencer.c sequencer.c: always free() the "msgbuf" in do_pick_commit() 2023-02-06 16:03:52 -08:00
sequencer.h sequencer API users: fix get_replay_opts() leaks 2023-02-06 16:03:52 -08:00
serve.c protocol v2: add server-side "bundle-uri" skeleton 2022-12-25 16:24:23 +09:00
serve.h serve.[ch]: remove "serve_options", split up --advertise-refs code 2021-08-05 08:59:37 -07:00
server-info.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
setup.c Merge branch 'js/safe-directory-plus' into maint 2022-08-26 11:13:12 -07:00
sh-i18n--envsubst.c tree-wide: apply equals-null.cocci 2022-05-02 09:50:37 -07:00
sha1dc_git.c hex: drop sha1_to_hex() 2019-11-13 10:09:10 +09:00
sha1dc_git.h Makefile & test-tool: replace "DC_SHA1" variable with a "define" 2022-11-07 22:11:51 -05:00
shallow.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
shallow.h *.h: move some *_INIT to designated initializers 2021-09-27 14:48:00 -07:00
shared.mak Merge branch 'ab/gnumake-4.4-fix' 2022-12-01 18:38:07 +09:00
shell.c replace and remove run_command_v_opt() 2022-10-30 14:04:51 -04:00
shortlog.h shortlog: extract shortlog_finish_setup() 2022-10-24 14:48:05 -07: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 treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
sparse-index.h Merge branch 'ds/sparse-sparse-checkout' 2022-06-03 14:30:35 -07:00
split-index.c treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
split-index.h split-index: convert struct split_index to object_id 2018-05-02 13:59:50 +09:00
stable-qsort.c stable-qsort: avoid using potentially unaligned access 2022-01-07 15:48:40 -08:00
strbuf.c strbuf: introduce strbuf_strip_file_from_path() 2022-12-25 16:24:24 +09:00
strbuf.h strbuf: introduce strbuf_strip_file_from_path() 2022-12-25 16:24:24 +09:00
streaming.c streaming: inline call to read_object_file_extended() 2023-01-08 10:52:54 +09:00
streaming.h streaming: allow open_istream() to handle any repo 2020-01-31 10:45:39 -08:00
string-list.c string-list: mark unused callback parameters 2022-10-17 21:24:04 -07:00
string-list.h string-list: document iterator behavior on NULL input 2022-09-27 09:32:26 -07:00
strmap.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -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 git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
sub-process.h hashmap_entry: remove first member requirement from docs 2019-10-07 10:20:12 +09:00
submodule-config.c run-command API: don't fall back on online_cpus() 2022-10-12 14:12:41 -07:00
submodule-config.h Merge branch 'pb/submodule-recurse-mode-enum' 2022-05-20 15:26:53 -07:00
submodule.c Merge branch 'ab/no-more-git-global-super-prefix' 2023-01-05 15:07:23 +09:00
submodule.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
symlinks.c symlinks: do not include startup_info->original_cwd in dir removal 2021-12-09 13:33:13 -08:00
tag.c ssh signing: make verify-tag consider key lifetime 2021-12-09 13:38:04 -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: update comment describing state transitions 2022-08-30 14:16:51 -07:00
tempfile.h tempfile: drop active flag 2022-08-30 14:16:49 -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 tmp-objdir: skip clean up when handling a signal 2022-09-30 21:26:58 -07:00
tmp-objdir.h replace and remove run_command_v_opt_cd_env() 2022-10-30 14:04:47 -04:00
trace2.c trace2: add global counter mechanism 2022-10-24 12:45:26 -07:00
trace2.h trace2: add global counter mechanism 2022-10-24 12:45:26 -07:00
trace.c C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code 2022-02-21 19:14:19 -08:00
trace.h C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code 2022-02-21 19:14:19 -08:00
trailer.c git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
trailer.h pretty format %(trailers): add a "key_value_separator" 2020-12-09 14:16:42 -08:00
transport-helper.c clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
transport-internal.h clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
transport.c Merge branch 'ds/bundle-uri-4' 2023-01-02 21:37:18 +09:00
transport.h clone: request the 'bundle-uri' command when available 2022-12-25 16:24:23 +09:00
tree-diff.c pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>) 2021-12-07 12:31:17 -08:00
tree-walk.c tree-walk: add a mechanism for getting non-canonicalized modes 2022-08-10 14:26:25 -07:00
tree-walk.h tree-walk: add a mechanism for getting non-canonicalized modes 2022-08-10 14:26:25 -07: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 treewide: always have a valid "index_state.repo" member 2023-01-17 14:32:06 -08:00
unpack-trees.h read-tree: add "--super-prefix" option, eliminate global 2022-12-26 10:21:44 +09:00
upload-pack.c refs: get rid of global list of hidden refs 2022-11-17 16:22:51 -05: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 convert trivial uses of strncmp() to starts_with() 2023-01-08 10:34:35 +09:00
urlmatch.h urlmatch.c: add and use a *_release() function 2022-03-04 13:24:18 -08:00
usage.c i18n: mark message helpers prefix for translation 2022-06-21 10:06:54 -07:00
userdiff.c userdiff: support Java sealed classes 2023-02-08 12:57:13 -08:00
userdiff.h userdiff: add and use for_each_userdiff_driver() 2021-04-08 12:19:10 -07:00
utf8.c Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
utf8.h Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
varint.c 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 git-compat-util.h: use "UNUSED", not "UNUSED(var)" 2022-09-01 10:49:48 -07:00
walker.h remote-curl: show progress for fetches over dumb HTTP 2020-03-03 13:15:40 -08:00
wildmatch.c tree-wide: apply equals-null.cocci 2022-05-02 09:50:37 -07:00
wildmatch.h wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode 2018-10-29 13:19:22 +09:00
worktree.c refs: unify parse_worktree_ref() and ref_type() 2022-09-19 11:11:11 -07:00
worktree.h refs: unify parse_worktree_ref() and ref_type() 2022-09-19 11:11:11 -07:00
wrap-for-bin.sh Make running git under other debugger-like programs easy 2018-04-25 10:47:22 +09:00
wrapper.c Merge branch 'jk/pipe-command-nonblock' 2022-08-25 14:42:32 -07:00
write-or-die.c environ: GIT_FLUSH should be made a usual Boolean 2022-09-15 11:34:51 -07:00
ws.c Merge branch 'kn/attr-from-tree' 2023-01-23 13:39:51 -08:00
wt-status.c Merge branch 'jk/unused-post-2.39' 2022-12-26 11:42:05 +09: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 'ep/maint-equals-null-cocci' for maint-2.35 2022-05-02 10:06:04 -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 and Documentation/CodingGuidelines).

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

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

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

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

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

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