Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Johannes Schindelin 7380a72f6b Git 2.35.8
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2023-04-17 21:16:00 +02:00
.github Sync with 2.34.8 2023-04-17 21:15:59 +02:00
block-sha1
builtin Sync with 2.32.7 2023-04-17 21:15:52 +02:00
ci Sync with 2.34.8 2023-04-17 21:15:59 +02:00
compat Sync with 2.34.8 2023-04-17 21:15:59 +02:00
contrib Merge branch 'jl/subtree-check-parents-argument-passing-fix' 2022-01-10 11:52:54 -08:00
Documentation Git 2.35.8 2023-04-17 21:16:00 +02:00
ewah
git-gui
gitk-git
gitweb
mergetools
negotiator
perl
po l10n: Update Catalan translation 2022-01-23 09:40:52 +01:00
ppc
refs Merge branch 'ab/refs-errno-cleanup' 2022-01-14 15:25:15 -08:00
reftable reftable tests: avoid "int" overflow, use "uint64_t" 2022-01-13 13:39:09 -08:00
sha1collisiondetection@855827c583
sha1dc
sha256
t Sync with 2.34.8 2023-04-17 21:15:59 +02:00
templates
trace2 Merge branch 'ab/run-command' 2021-12-15 09:39:47 -08:00
xdiff Merge branch 'pw/xdiff-classify-record-in-histogram' 2021-12-21 15:03:14 -08:00
.cirrus.yml
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
.mailmap
.tsan-suppressions
abspath.c
aclocal.m4
add-interactive.c
add-interactive.h
add-patch.c run-command API users: use strvec_pushv(), not argv assignment 2021-11-25 22:15:07 -08:00
advice.c
advice.h
alias.c alias.c: reject too-long cmdline strings in split_cmdline() 2022-10-01 00:23:38 -04:00
alias.h
alloc.c
alloc.h
apply.c Sync with 2.34.8 2023-04-17 21:15:59 +02:00
apply.h git-apply: add --allow-empty flag 2021-12-13 14:30:25 -08:00
archive-tar.c run-command API users: use strvec_push(), not argv construction 2021-11-25 22:15:07 -08:00
archive-zip.c
archive.c i18n: factorize "--foo requires --bar" and the like 2022-01-05 13:31:00 -08:00
archive.h
attr.c Sync with maint-2.33 2023-01-19 13:47:42 -08:00
attr.h Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
banned.h
base85.c
bisect.c
bisect.h
blame.c
blame.h
blob.c
blob.h
bloom.c
bloom.h
branch.c Merge branch 'ak/protect-any-current-branch' 2022-01-12 15:11:41 -08:00
branch.h branch: add flags and config to inherit tracking 2021-12-20 22:40:21 -08:00
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c Merge branch 'vd/sparse-reset' 2021-12-10 14:35:12 -08:00
cache-tree.h
cache.h Merge branch 'ma/header-dup-cleanup' 2022-01-12 15:11:43 -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
chdir-notify.h
check-builtins.sh
checkout.c
checkout.h
chunk-format.c
chunk-format.h
CODE_OF_CONDUCT.md
color.c
color.h
column.c utf8: fix truncated string lengths in utf8_strnwidth() 2022-12-09 14:26:21 +09:00
column.h
combine-diff.c
command-list.txt
commit-graph.c commit-graph: return if there is no git directory 2021-12-06 09:55:05 -08:00
commit-graph.h
commit-reach.c
commit-reach.h
commit-slab-decl.h
commit-slab-impl.h
commit-slab.h
commit.c ssh signing: make verify-commit consider key lifetime 2021-12-09 13:38:04 -08:00
commit.h
common-main.c Merge branch 'en/keep-cwd' 2022-01-05 14:01:28 -08:00
config.c Sync with 2.34.8 2023-04-17 21:15:59 +02:00
config.h
config.mak.dev Makefile: FreeBSD cannot do C99-or-below build 2022-01-18 12:16:23 -08:00
config.mak.in
config.mak.uname Merge branch 'da/rhel7-lacks-uncompress2-and-c99' 2022-01-17 15:15:59 -08:00
configure.ac Merge branch 'hn/reftable' 2021-12-15 09:39:45 -08:00
connect.c
connect.h
connected.c run-command API: remove "env" member, always use "env_array" 2021-11-25 22:15:08 -08:00
connected.h
convert.c Merge branch 'mc/clean-smudge-with-llp64' 2021-11-29 15:41:51 -08:00
convert.h
copy.c
COPYING
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'rs/daemon-plug-leak' 2022-01-05 14:01:31 -08:00
date.c
decorate.c
decorate.h
delta-islands.c
delta-islands.h
delta.h
detect-compiler
diff-delta.c
diff-lib.c
diff-merges.c
diff-merges.h
diff-no-index.c
diff.c Merge branch 'ja/i18n-similar-messages' 2022-01-10 11:52:56 -08:00
diff.h
diffcore-break.c
diffcore-delta.c diffcore-delta.c: LLP64 compatibility, upcast unity for left shift 2021-12-01 14:48:10 -08:00
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore-rotate.c
diffcore.h
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 Sync with 2.34.8 2023-04-17 21:15:59 +02:00
dir.h dir: new flag to remove_dir_recurse() to spare the original_cwd 2021-12-09 13:33:13 -08:00
editor.c run-command API: remove "env" member, always use "env_array" 2021-11-25 22:15:08 -08:00
entry.c Merge branch 'mc/clean-smudge-with-llp64' 2021-11-29 15:41:51 -08:00
entry.h Merge branch 'mc/clean-smudge-with-llp64' 2021-11-29 15:41:51 -08:00
environment.c Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
environment.h
exec-cmd.c
exec-cmd.h
fetch-negotiator.c
fetch-negotiator.h
fetch-pack.c i18n: factorize "--foo requires --bar" and the like 2022-01-05 13:31:00 -08:00
fetch-pack.h
fmt-merge-msg.c Merge branch 'fs/ssh-signing-key-lifetime' 2022-01-12 15:11:41 -08: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: implement checks for gitattributes 2022-12-09 17:07:04 +09:00
fsck.h fsck: implement checks for gitattributes 2022-12-09 17:07:04 +09:00
fsmonitor.c
fsmonitor.h
fuzz-commit-graph.c
fuzz-pack-headers.c
fuzz-pack-idx.c
generate-cmdlist.sh
generate-configlist.sh
generate-hooklist.sh
gettext.c Sync with 2.32.7 2023-04-17 21:15:52 +02:00
gettext.h Sync with 2.33.8 2023-04-17 21:15:56 +02:00
git-add--interactive.perl add -p: avoid use of undefined $key when ReadKey -> EOF 2021-11-28 15:14:09 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'maint-2.34' into maint-2.35 2022-12-13 21:17:10 +09:00
git-curl-compat.h http: support CURLOPT_PROTOCOLS_STR 2023-02-06 09:27:09 +01:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py Merge branch 'jh/p4-remove-unused' 2022-01-10 11:52:50 -08:00
git-quiltimport.sh
git-request-pull.sh
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh Merge branch 'ab/sh-retire-helper-functions' 2021-11-29 15:41:50 -08:00
git-submodule.sh
git-svn.perl
GIT-VERSION-GEN Git 2.35.8 2023-04-17 21:16:00 +02:00
git-web--browse.sh
git.c i18n: factorize "no directory given for --foo" 2022-01-05 13:31:00 -08:00
git.rc
gpg-interface.c Merge branch 'fs/ssh-signing-other-keytypes' 2021-12-21 15:03:16 -08:00
gpg-interface.h ssh signing: make verify-commit consider key lifetime 2021-12-09 13:38:04 -08:00
graph.c
graph.h
grep.c Merge branch 'lh/use-gnu-color-in-grep' 2022-01-10 11:52:54 -08:00
grep.h log: let --invert-grep only invert --grep 2021-12-17 14:13:08 -08:00
hash-lookup.c
hash-lookup.h
hash.h
hashmap.c
hashmap.h
help.c help: make auto-correction prompt more consistent 2021-12-16 13:49:39 -08:00
help.h
hex.c
hook.c
hook.h
http-backend.c Merge branch 'ab/usage-die-message' 2022-01-10 11:52:53 -08:00
http-fetch.c i18n: factorize "--foo requires --bar" and the like 2022-01-05 13:31:00 -08:00
http-push.c Sync with 2.31.8 2023-04-17 21:15:49 +02:00
http-walker.c
http.c Sync with 2.34.8 2023-04-17 21:15:59 +02:00
http.h Sync with 2.30.9 2023-04-17 21:15:44 +02:00
ident.c
imap-send.c
INSTALL Sync with 2.31.8 2023-04-17 21:15:49 +02:00
iterator.h
json-writer.c
json-writer.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c
line-log.h
line-range.c
line-range.h
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c
list-objects-filter-options.h
list-objects-filter.c
list-objects-filter.h
list-objects.c
list-objects.h
list.h
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h
log-tree.c ssh signing: make git log verify key lifetime 2021-12-09 13:38:04 -08:00
log-tree.h
ls-refs.c
ls-refs.h
mailinfo.c
mailinfo.h
mailmap.c
mailmap.h
Makefile Makefile: force -O0 when compiling with SANITIZE=leak 2023-03-23 09:17:23 +01:00
match-trees.c
mem-pool.c
mem-pool.h
merge-blobs.c
merge-blobs.h
merge-ort-wrappers.c
merge-ort-wrappers.h
merge-ort.c merge-ort: fix bug with renormalization and rename/delete conflicts 2021-12-30 10:40:26 -08:00
merge-ort.h
merge-recursive.c
merge-recursive.h
merge.c
mergesort.c
mergesort.h
midx.c Merge branch 'tb/plug-pack-bitmap-leaks' 2021-11-29 15:41:49 -08:00
midx.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object-file.c Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
object-name.c
object-store.h Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
object.c Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
object.h
oid-array.c
oid-array.h
oidmap.c
oidmap.h
oidset.c
oidset.h
oidtree.c
oidtree.h
pack-bitmap-write.c
pack-bitmap.c Merge branch 'jk/test-bitmap-fix' 2021-12-10 14:35:08 -08:00
pack-bitmap.h
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
packfile.c Merge branch 'jt/pack-header-lshift-overflow' 2022-01-12 15:11:41 -08:00
packfile.h Merge branch 'tb/pack-revindex-on-disk-cleanup' 2021-12-15 09:39:50 -08:00
pager.c pager: fix crash when pager program doesn't exist 2021-11-24 16:14:10 -08:00
parallel-checkout.c Merge branch 'mc/clean-smudge-with-llp64' 2021-11-29 15:41:51 -08:00
parallel-checkout.h
parse-options-cb.c branch: add flags and config to inherit tracking 2021-12-20 22:40:21 -08:00
parse-options.c Merge branch 'ab/usage-die-message' 2022-01-10 11:52:53 -08:00
parse-options.h Merge branch 'js/branch-track-inherit' 2022-01-10 11:52:54 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Sync with 2.33.2 2022-03-24 00:31:36 +01:00
path.h
pathspec.c
pathspec.h pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>) 2021-12-07 12:31:17 -08:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'maint-2.34' into maint-2.35 2022-12-13 21:17:10 +09:00
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
promisor-remote.c
promisor-remote.h
prompt.c run-command API users: use strvec_push(), not argv construction 2021-11-25 22:15:07 -08:00
prompt.h
protocol-caps.c
protocol-caps.h
protocol.c
protocol.h
prune-packed.c
prune-packed.h
quote.c
quote.h
range-diff.c Sync with 2.31.8 2023-04-17 21:15:49 +02:00
range-diff.h
reachable.c
reachable.h
read-cache.c Merge branch 'vd/sparse-reset' 2021-12-10 14:35:12 -08:00
README.md CI: use shorter names that fit in UX tooltips 2021-11-23 16:51:53 -08:00
rebase-interactive.c
rebase-interactive.h
rebase.c
rebase.h
ref-filter.c i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom" 2022-01-05 13:31:00 -08:00
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'ab/refs-errno-cleanup' 2022-01-14 15:25:15 -08:00
refs.h reflog + refs-backend: move "verbose" out of the backend 2021-12-22 16:24:14 -08:00
refspec.c
refspec.h
RelNotes Git 2.35.8 2023-04-17 21:16:00 +02:00
remote-curl.c Sync with 2.32.7 2023-04-17 21:15:52 +02:00
remote.c Merge branch 'gc/remote-with-fewer-static-global-variables' 2021-12-10 14:35:02 -08:00
remote.h remote: die if branch is not found in repository 2021-11-18 22:31:19 -08:00
replace-object.c
replace-object.h
repo-settings.c repo-settings: prepare_repo_settings only in git repos 2021-12-06 09:55:06 -08:00
repository.c Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
repository.h Merge branch 'ns/tmp-objdir' 2022-01-03 16:24:15 -08:00
rerere.c
rerere.h
reset.c
reset.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'ja/i18n-similar-messages' 2022-01-10 11:52:56 -08:00
revision.h log: let --invert-grep only invert --grep 2021-12-17 14:13:08 -08:00
run-command.c Merge branch 'ab/usage-die-message' 2022-01-10 11:52:53 -08:00
run-command.h run-command API: remove "env" member, always use "env_array" 2021-11-25 22:15:08 -08:00
SECURITY.md
send-pack.c
send-pack.h
sequencer.c Merge branch 'en/keep-cwd' into maint 2022-01-28 16:45:52 -08:00
sequencer.h
serve.c
serve.h
server-info.c
setup.c Sync with 2.34.4 2022-06-23 12:36:03 +02:00
sh-i18n--envsubst.c
sha1dc_git.c
sha1dc_git.h
shallow.c
shallow.h
shell.c Sync with 2.32.4 2022-10-06 17:42:02 -04:00
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
simple-ipc.h
sparse-index.c sparse-index: add ensure_correct_sparsity function 2021-11-24 16:32:38 -08:00
sparse-index.h sparse-index: add ensure_correct_sparsity function 2021-11-24 16:32:38 -08:00
split-index.c
split-index.h
stable-qsort.c
strbuf.c
strbuf.h strbuf.h: use BUG(...) not die("BUG: ...") 2021-12-07 12:31:16 -08:00
streaming.c
streaming.h
string-list.c
string-list.h
strmap.c
strmap.h
strvec.c
strvec.h
sub-process.c run-command API: remove "argv" member, always use "args" 2021-11-25 22:15:07 -08:00
sub-process.h
submodule-config.c
submodule-config.h
submodule.c
submodule.h
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
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c tmp-objdir: new API for creating temporary writable databases 2021-12-08 14:06:36 -08:00
tmp-objdir.h tmp-objdir: new API for creating temporary writable databases 2021-12-08 14:06:36 -08:00
trace2.c
trace2.h
trace.c
trace.h
trailer.c run-command API: remove "env" member, always use "env_array" 2021-11-25 22:15:08 -08:00
trailer.h
transport-helper.c
transport-internal.h
transport.c Sync with 2.34.5 2022-10-06 17:43:37 -04:00
transport.h fetch: fix deadlock when cleaning up lockfiles in async signals 2022-01-07 13:49:19 -08: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.h
tree.c
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unix-stream-server.c
unix-stream-server.h
unpack-trees.c Merge branch 'en/keep-cwd' 2022-01-05 14:01:28 -08:00
unpack-trees.h unpack-trees: refuse to remove startup_info->original_cwd 2021-12-09 13:33:12 -08:00
upload-pack.c upload-pack.c: increase output buffer size 2021-12-15 11:51:18 -08:00
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h
usage.c config API: use get_error_routine(), not vreportf() 2021-12-07 13:25:16 -08:00
userdiff.c
userdiff.h
utf8.c Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
utf8.h Sync with Git 2.31.6 2022-12-13 21:09:40 +09:00
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c worktree: simplify find_shared_symref() memory ownership model 2021-12-01 22:18:25 -08:00
worktree.h worktree: simplify find_shared_symref() memory ownership model 2021-12-01 22:18:25 -08:00
wrap-for-bin.sh
wrapper.c
write-or-die.c Merge branch 'ew/test-wo-fsync' 2021-12-15 09:39:52 -08:00
ws.c
wt-status.c Merge branch 'xw/am-empty' 2022-01-05 14:01:28 -08:00
wt-status.h
xdiff-interface.c xdiff: implement a zealous diff3, or "zdiff3" 2021-12-01 14:45:58 -08:00
xdiff-interface.h
zlib.c

Build status

Git - fast, scalable, distributed revision control system

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

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

Please read the file INSTALL for installation instructions.

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

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

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

The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. The mailing list archives are available at https://lore.kernel.org/git/, http://marc.info/?l=git and other archival sites.

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

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

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

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