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 04efc8b57c sequencer (rebase -i): implement the 'reword' command
This is now trivial, as all the building blocks are in place: all we need
to do is to flip the "edit" switch when committing.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-01-09 14:57:30 -08:00
block-sha1 sha1: provide another level of indirection for the SHA-1 functions 2015-11-05 10:35:11 -08:00
builtin Merge branch 'lt/shortlog-by-committer' 2016-12-27 00:11:44 -08:00
ci
compat Merge branch 'js/mingw-isatty' 2016-12-27 00:11:46 -08:00
contrib Merge branch 'ls/filter-process' 2016-12-27 00:11:42 -08:00
Documentation Fourth batch for 2.12 2016-12-27 09:17:51 -08:00
ewah
git-gui git-gui 0.21.0 2016-10-20 09:33:17 -07:00
gitk-git
gitweb Merge branch 'ab/gitweb-abbrev-links' 2016-10-26 13:14:46 -07:00
mergetools Merge branch 'da/mergetool-xxdiff-hotkey' 2016-12-19 14:45:41 -08:00
perl Merge branch 'va/i18n-perl-scripts' 2016-12-27 00:11:40 -08:00
po Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru 2016-11-29 21:19:43 +08:00
ppc sha1: provide another level of indirection for the SHA-1 functions 2015-11-05 10:35:11 -08:00
refs Merge branch 'jk/ref-symlink-loop' 2016-10-17 13:25:20 -07:00
t Merge branch 'ls/p4-lfs' 2016-12-27 00:11:46 -08:00
templates pre-receive.sample: mark it executable 2016-10-28 14:21:11 -07:00
vcs-svn Merge branch 'mr/vcs-svn-printf-ulong' 2016-09-21 15:15:27 -07:00
xdiff xdiff: drop XDL_FAST_HASH 2016-12-06 13:27:11 -08:00
.gitattributes .gitattributes: set file type for C files 2016-07-07 14:11:15 -07:00
.gitignore Merge branch 'bb/unicode-9.0' 2016-12-19 14:45:36 -08:00
.mailmap add David Turner's Two Sigma address 2016-09-26 17:46:44 -07:00
.travis.yml travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build 2016-12-05 14:55:52 -08:00
abspath.c Windows: shorten code by re-using convert_slashes() 2016-04-04 18:03:02 -07:00
aclocal.m4
advice.c i18n: advice: internationalize message for conflicts 2016-06-17 15:45:48 -07:00
advice.h
alias.c
alloc.c
apply.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
apply.h apply: learn to use a different index file 2016-09-07 12:29:54 -07:00
archive-tar.c
archive-zip.c
archive.c archive: read local configuration 2016-11-22 13:55:20 -08:00
archive.h archive: read local configuration 2016-11-22 13:55:20 -08:00
argv-array.c argv-array: add detach function 2016-02-22 14:50:32 -08:00
argv-array.h argv-array: add detach function 2016-02-22 14:50:32 -08:00
attr.c read info/{attributes,exclude} only when in repository 2016-10-26 13:30:51 -07:00
attr.h
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c bisect: improve English grammar of not-ancestors message 2016-12-05 14:50:38 -08:00
bisect.h
blob.c add object_as_type helper for casting objects 2014-07-13 18:59:05 -07:00
blob.h
branch.c worktree.c: get_worktrees() takes a new flag argument 2016-11-28 13:18:51 -08:00
branch.h create_branch: drop unused "head" parameter 2016-11-09 14:56:21 -08:00
builtin.h builtin: convert textconv_object to use struct object_id 2016-09-07 12:59:42 -07:00
bulk-checkin.c use xsnprintf for generating git object headers 2015-09-25 10:18:18 -07:00
bulk-checkin.h
bundle.c bundle: don't leak an fd in case of early return 2016-04-01 10:33:18 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c cache: convert struct cache_entry to use struct object_id 2016-09-07 12:59:42 -07:00
cache-tree.h
cache.h Merge branch 'ls/git-open-cloexec' 2016-10-31 13:15:21 -07:00
check_bindir
check-builtins.sh
check-racy.c check-racy.c: use error_errno() 2016-05-09 12:29:08 -07:00
color.c Merge branch 'jk/squelch-false-warning-from-gcc-o3' 2016-09-12 15:34:33 -07:00
color.h Merge branch 'js/color-on-windows-comment' 2016-07-11 10:31:09 -07:00
column.c
column.h
combine-diff.c diff_aligned_abbrev: use "struct oid" 2016-10-26 13:30:51 -07:00
command-list.txt
commit-slab.h
commit.c commit: make ignore_non_trailer take buf/len 2016-11-29 14:22:18 -08:00
commit.h commit: make ignore_non_trailer take buf/len 2016-11-29 14:22:18 -08:00
common-main.c common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
config.c get_short_sha1: make default disambiguation configurable 2016-09-27 10:29:56 -07:00
config.mak.in
config.mak.uname xdiff: drop XDL_FAST_HASH 2016-12-06 13:27:11 -08:00
configure.ac Merge branch 'dp/autoconf-curl-ssl' into maint 2016-10-28 09:01:13 -07:00
connect.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
connect.h
connected.c check_connected: accept an env argument 2016-10-10 13:54:02 -07:00
connected.h check_connected: accept an env argument 2016-10-10 13:54:02 -07:00
convert.c Merge branch 'jc/renormalize-merge-kill-safer-crlf' 2016-12-19 14:45:30 -08:00
convert.h convert: unify the "auto" handling of CRLF 2016-07-06 11:53:51 -07:00
copy.c
COPYING
credential-cache--daemon.c i18n: credential-cache--daemon: mark advice for translation 2016-10-17 14:51:47 -07:00
credential-cache.c
credential-store.c add an extra level of indirection to main() 2016-07-01 15:09:10 -07:00
credential.c credential: let empty credential specs reset helper list 2016-02-26 10:58:14 -08:00
credential.h
csum-file.c sha1fd_check: die when we cannot open the file 2015-03-19 13:35:15 -07:00
csum-file.h
ctype.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
daemon.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
date.c date: add "unix" format 2016-07-27 14:15:51 -07:00
decorate.c
decorate.h decorate: allow const objects to be decorated 2008-08-20 13:30:49 -07:00
delta.h
diff-delta.c
diff-lib.c commit: fix empty commit creation when there's no changes but ita entries 2016-10-24 10:48:23 -07:00
diff-no-index.c Merge branch 'jk/setup-sequence-update' 2016-09-21 15:15:24 -07:00
diff.c diff: handle --no-abbrev in no-index case 2016-12-08 14:40:30 -08:00
diff.h Merge branch 'nd/ita-empty-commit' 2016-10-27 14:58:50 -07:00
diffcore-break.c Merge branch 'tk/diffcore-delta-remove-unused' 2016-11-17 13:45:22 -08:00
diffcore-delta.c Merge branch 'tk/diffcore-delta-remove-unused' 2016-11-17 13:45:22 -08:00
diffcore-order.c use QSORT 2016-09-29 15:42:18 -07:00
diffcore-pickaxe.c Merge branch 'js/regexec-buf' into maint 2016-09-29 16:49:45 -07:00
diffcore-rename.c Merge branch 'tk/diffcore-delta-remove-unused' 2016-11-17 13:45:22 -08:00
diffcore.h Merge branch 'tk/diffcore-delta-remove-unused' into maint 2016-11-29 13:28:03 -08:00
dir-iterator.c
dir-iterator.h dir_iterator: new API for iterating over a directory tree 2016-06-20 11:38:21 -07:00
dir.c read info/{attributes,exclude} only when in repository 2016-10-26 13:30:51 -07:00
dir.h ls-files: add pathspec matching for submodules 2016-10-10 12:14:58 -07:00
editor.c editor.c: use error_errno() 2016-05-09 12:29:08 -07:00
entry.c streaming: make stream_blob_to_fd take struct object_id 2016-09-07 12:59:42 -07:00
environment.c Merge branch 'lt/abbrev-auto' 2016-10-27 14:58:47 -07:00
exec_cmd.c common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
exec_cmd.h common-main: stop munging argv[0] path 2016-11-29 11:01:48 -08:00
fast-import.c use QSORT 2016-09-29 15:42:18 -07:00
fetch-pack.c fetch-pack.c: correct command at the beginning of an error message 2016-11-11 13:28:39 -08:00
fetch-pack.h fetch, upload-pack: --deepen=N extends shallow boundary by N commits 2016-06-13 14:38:16 -07:00
fmt-merge-msg.h
fsck.c fsck: handle bad trees like other errors 2016-09-27 14:09:10 -07:00
fsck.h fsck: give the error function a chance to see the fsck_options 2016-07-18 11:35:00 -07:00
generate-cmdlist.sh generate-cmdlist: re-implement as shell script 2015-08-25 11:24:31 -07:00
gettext.c
gettext.h gettext: add is_utf8_locale() 2016-07-01 12:44:57 -07:00
git-add--interactive.perl Merge branch 'va/i18n-perl-scripts' 2016-12-27 00:11:40 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'jk/common-main' into maint-2.10 2016-12-05 11:24:28 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl Merge branch 'jk/difftool-in-subdir' 2016-12-27 00:11:43 -08:00
git-filter-branch.sh Merge branch 'jk/filter-branch-no-index' 2016-01-28 16:10:12 -08:00
git-instaweb.sh git-instaweb: use @SHELL_PATH@ instead of /bin/sh 2015-03-10 15:10:35 -07:00
git-merge-octopus.sh git-merge-octopus: do not capitalize "octopus" 2016-09-08 12:17:10 -07:00
git-merge-one-file.sh
git-merge-resolve.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-mergetool--lib.sh mergetool: honor mergetool.$tool.trustExitCode for built-in tools 2016-11-29 10:54:03 -08:00
git-mergetool.sh mergetool: honor -O<orderfile> 2016-10-11 10:04:31 -07:00
git-p4.py Merge branch 'ls/p4-lfs' 2016-12-27 00:11:46 -08:00
git-parse-remote.sh i18n: git-parse-remote.sh: mark strings for translation 2016-04-19 12:07:49 -07:00
git-quiltimport.sh git-quiltimport: add commandline option --series <file> 2015-09-01 11:10:07 -07:00
git-rebase--am.sh rebase: update comment about FreeBSD /bin/sh 2016-06-17 11:04:38 -07:00
git-rebase--interactive.sh Merge branch 'va/i18n-even-more' 2016-12-27 00:11:45 -08:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'nd/rebase-forget' 2016-12-19 14:45:35 -08:00
git-relink.perl
git-remote-testgit.sh transport-helper: do not request symbolic refs to remote helpers 2015-01-21 22:46:59 -08:00
git-request-pull.sh
git-send-email.perl i18n: send-email: mark composing message for translation 2016-12-14 11:00:06 -08:00
git-sh-i18n.sh i18n: rebase-interactive: mark here-doc strings for translation 2016-06-17 15:45:48 -07:00
git-sh-setup.sh Merge branch 'va/i18n-even-more' 2016-12-27 00:11:45 -08:00
git-stash.sh Merge branch 'jk/stash-disable-renames-internally' 2016-12-19 14:45:33 -08:00
git-submodule.sh Merge branch 'bw/transport-protocol-policy' 2016-12-27 00:11:41 -08:00
git-svn.perl git-svn: "git worktree" awareness 2016-10-14 01:36:12 +00:00
GIT-VERSION-GEN GIT-VERSION-GEN: do not force abbreviation length used by 'describe' 2016-12-06 10:08:31 -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 'jk/common-main' into maint-2.10 2016-12-05 11:24:28 -08:00
git.rc
gpg-interface.c gpg-interface: use more status letters 2016-10-12 10:41:59 -07:00
gpg-interface.h verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
graph.c Merge branch 'jk/graph-padding-fix' 2016-10-06 14:53:11 -07:00
graph.h graph: add support for --line-prefix on all graph-aware output 2016-08-31 18:07:09 -07:00
grep.c Merge branch 'js/regexec-buf' 2016-09-26 16:09:19 -07:00
grep.h Merge branch 'jc/grep-commandline-vs-configuration' 2016-08-04 14:39:18 -07:00
hashmap.c
hashmap.h
help.c use QSORT 2016-09-29 15:42:18 -07:00
help.h
hex.c hex: make wraparound of the index into ring-buffer explicit 2016-10-26 10:54:11 -07:00
http-backend.c pkt-line: rename packet_write() to packet_write_fmt() 2016-10-17 11:36:50 -07:00
http-fetch.c
http-push.c
http-walker.c http: respect protocol.*.allow=user for http-alternates 2016-12-15 09:29:13 -08:00
http.c Merge branch 'bw/transport-protocol-policy' 2016-12-27 00:11:41 -08:00
http.h Merge branch 'jk/http-walker-limit-redirect-2.9' 2016-12-19 14:45:32 -08:00
ident.c Merge branch 'jk/ident-ai-canonname-could-be-null' into maint 2016-10-03 13:22:32 -07:00
imap-send.c Merge branch 'jc/cocci-xstrdup-or-null' into maint 2016-10-28 09:01:23 -07:00
INSTALL
iterator.h
khash.h convert trivial cases to ALLOC_ARRAY 2016-02-22 14:51:09 -08:00
kwset.c kwset: use unsigned char to store values with high-bit set 2015-03-02 12:32:24 -08:00
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c use QSORT 2016-09-29 15:42:18 -07:00
line-log.h
line-range.c line-range: reject -L line numbers less than 1 2013-08-06 14:48:55 -07:00
line-range.h
list-objects.c
list-objects.h list-objects: pass full pathname to callbacks 2016-02-12 12:51:17 -08:00
list.h
ll-merge.c
ll-merge.h
lockfile.c lockfile: LOCK_REPORT_ON_ERROR 2016-12-07 11:31:59 -08:00
lockfile.h lockfile: move REPORT_ON_ERROR bit elsewhere 2016-12-27 09:12:09 -08:00
log-tree.c
log-tree.h
mailinfo.c Merge branch 'jt/mailinfo-fold-in-body-headers' 2016-12-21 14:55:03 -08:00
mailinfo.h mailinfo: handle in-body header continuations 2016-09-21 10:23:11 -07:00
mailmap.c cocci: refactor common patterns to use xstrdup_or_null() 2016-10-12 11:22:10 -07:00
mailmap.h
Makefile Merge branch 'va/i18n-perl-scripts' 2016-12-27 00:11:40 -08:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'jc/lock-report-on-error' 2016-12-19 14:45:35 -08:00
merge-recursive.h merge-recursive: offer an option to retain the output in 'obuf' 2016-08-01 11:45:30 -07:00
merge.c lockfile: LOCK_REPORT_ON_ERROR 2016-12-07 11:31:59 -08:00
mergesort.c mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
mergesort.h
mru.c
mru.h add generic most-recently-used list 2016-07-29 11:05:07 -07:00
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c Merge branch 'va/i18n-more' 2016-09-26 16:09:18 -07:00
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object.c
object.h
pack-bitmap-write.c use QSORT 2016-09-29 15:42:18 -07:00
pack-bitmap.c sha1_file: rename git_open_noatime() to git_open() 2016-10-25 10:59:13 -07:00
pack-bitmap.h
pack-check.c Merge branch 'jk/verify-packfile-gently' into maint 2016-10-11 14:21:36 -07:00
pack-objects.c use REALLOC_ARRAY for changing the allocation size of arrays 2014-09-18 09:13:42 -07:00
pack-objects.h
pack-revindex.c use COPY_ARRAY 2016-09-25 16:44:13 -07:00
pack-revindex.h pack-revindex: store entries directly in packed_git 2015-12-21 14:36:28 -08:00
pack-write.c use QSORT 2016-09-29 15:42:18 -07:00
pack.h fsck: use streaming interface for large blobs in pack 2016-07-13 09:15:29 -07:00
pager.c Merge branch 'jk/setup-sequence-update' 2016-09-21 15:15:24 -07:00
parse-options-cb.c Merge branch 'rs/cocci' 2016-10-17 13:25:21 -07:00
parse-options.c parse-options: print "fatal:" before usage_msg_opt() 2016-12-14 09:58:09 -08:00
parse-options.h Merge branch 'mh/diff-indent-heuristic' 2016-09-26 16:09:16 -07:00
patch-delta.c
patch-ids.c patch-ids: refuse to compute patch-id for merge commit 2016-09-12 13:45:01 -07:00
patch-ids.h
path.c Merge branch 'js/normalize-path-copy-ceil' 2016-12-19 14:45:37 -08:00
pathspec.c Merge branch 'ex/deprecate-empty-pathspec-as-match-all' 2016-10-26 13:14:56 -07:00
pathspec.h Merge branch 'bw/pathspec-remove-unused-extern-decl' 2016-09-21 15:15:22 -07:00
pkt-line.c pkt-line: add functions to read/write flush terminated packet streams 2016-10-17 11:36:50 -07:00
pkt-line.h pkt-line: add functions to read/write flush terminated packet streams 2016-10-17 11:36:50 -07:00
preload-index.c
pretty.c pretty: add %(trailers) format for displaying trailers of a commit message 2016-12-11 13:58:41 -08:00
prio-queue.c
prio-queue.h
progress.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
progress.h
prompt.c prompt.c: remove git_getpass() nobody uses 2015-01-15 11:02:06 -08:00
prompt.h prompt.c: remove git_getpass() nobody uses 2015-01-15 11:02:06 -08:00
quote.c Merge branch 'nd/icase' 2016-07-19 13:22:17 -07:00
quote.h
reachable.c
reachable.h
read-cache.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
README.md README: replace gmane link with public-inbox 2016-12-15 09:30:09 -08:00
ref-filter.c Merge branch 'jk/trailers-placeholder-in-pretty' 2016-12-19 14:45:34 -08:00
ref-filter.h tag, branch, for-each-ref: add --ignore-case for sorting and filtering 2016-12-05 14:59:29 -08:00
reflog-walk.c
reflog-walk.h convert "enum date_mode" into a struct 2015-06-29 11:39:07 -07:00
refs.c Merge branch 'jc/cocci-xstrdup-or-null' 2016-10-26 13:14:45 -07:00
refs.h Merge branch 'nd/shallow-deepen' 2016-10-10 14:03:50 -07:00
RelNotes Start post 2.11 cycle 2016-12-05 11:31:47 -08:00
remote-curl.c Merge branch 'jk/http-walker-limit-redirect-2.9' 2016-12-19 14:45:32 -08:00
remote-testsvn.c
remote.c use strbuf_addstr() for adding constant strings to a strbuf, part 2 2016-09-15 12:23:38 -07:00
remote.h
replace_object.c register_replace_ref(): rewrite to take an object_id argument 2015-05-25 12:19:35 -07:00
rerere.c hold_locked_index(): align error handling with hold_lockfile_for_update() 2016-12-07 11:31:59 -08:00
rerere.h Merge branch 'jc/rerere-multi' 2016-04-25 15:17:15 -07:00
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'vn/revision-shorthand-for-side-branch-log' 2016-10-06 14:53:10 -07:00
revision.h
run-command.c run-command: add clean_on_exit_handler 2016-10-17 11:36:50 -07:00
run-command.h run-command: add clean_on_exit_handler 2016-10-17 11:36:50 -07:00
send-pack.c cocci: refactor common patterns to use xstrdup_or_null() 2016-10-12 11:22:10 -07:00
send-pack.h
sequencer.c sequencer (rebase -i): implement the 'reword' command 2017-01-09 14:57:30 -08:00
sequencer.h sequencer (rebase -i): learn about the 'verbose' mode 2017-01-09 14:57:29 -08:00
server-info.c use QSORT 2016-09-29 15:42:18 -07:00
setup.c
sh-i18n--envsubst.c remove unnecessary check before QSORT 2016-09-29 15:42:18 -07:00
sha1_file.c Merge branch 'jk/quote-env-path-list-component' 2016-12-21 14:55:02 -08:00
sha1_name.c Merge branch 'jk/no-looking-at-dotgit-outside-repo' 2016-11-01 12:58:49 -07:00
sha1-array.c Merge branch 'rs/qsort' 2016-10-10 14:03:46 -07:00
sha1-array.h sha1_array: let callbacks interrupt iteration 2016-09-26 11:46:41 -07:00
sha1-lookup.c sha1-lookup: handle duplicates in sha1_pos() 2014-10-01 13:32:19 -07:00
sha1-lookup.h
shallow.c Merge branch 'nd/shallow-fixup' 2016-12-21 14:55:02 -08:00
shell.c common-main: call git_setup_gettext() 2016-07-01 15:09:10 -07:00
shortlog.h shortlog: group by committer information 2016-12-15 16:19:13 -08:00
show-index.c common-main: call git_setup_gettext() 2016-07-01 15:09:10 -07:00
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c split-index: s/eith/with/ typo fix 2016-11-01 11:48:02 -07:00
split-index.h split-index: the reading part 2014-06-13 11:49:40 -07:00
strbuf.c link_alt_odb_entry: handle normalize_path errors 2016-10-10 13:52:36 -07:00
strbuf.h link_alt_odb_entry: handle normalize_path errors 2016-10-10 13:52:36 -07:00
streaming.c Merge branch 'jk/pack-objects-optim-mru' 2016-10-10 14:03:47 -07:00
streaming.h
string-list.c use QSORT 2016-09-29 15:42:18 -07:00
string-list.h
submodule-config.c submodule-config: rename commit_sha1 to treeish_name 2016-11-22 14:43:03 -08:00
submodule-config.h submodule-config: rename commit_sha1 to treeish_name 2016-11-22 14:43:03 -08:00
submodule.c Merge branch 'bw/push-dry-run' 2016-12-16 15:27:48 -08:00
submodule.h push: fix --dry-run to not push submodules 2016-11-23 08:39:14 -08:00
symlinks.c symlinks: remove PATH_MAX limitation 2014-07-07 11:22:42 -07:00
tag.c
tag.h
tar.h
tempfile.c mingw: ensure temporary file handles are not inherited by child processes 2016-08-23 09:09:55 -07:00
tempfile.h
thread-utils.c
thread-utils.h
tmp-objdir.c tmp-objdir: quote paths we add to alternates 2016-12-12 15:10:46 -08:00
tmp-objdir.h tmp-objdir: introduce API for temporary object directories 2016-10-10 13:54:02 -07:00
trace.c
trace.h
trailer.c trailer: have function to describe trailer layout 2016-11-29 14:22:18 -08:00
trailer.h trailer: have function to describe trailer layout 2016-11-29 14:22:18 -08:00
transport-helper.c Merge branch 'nd/shallow-deepen' 2016-10-10 14:03:50 -07:00
transport.c Merge branch 'bw/transport-protocol-policy' 2016-12-27 00:11:41 -08:00
transport.h Merge branch 'bw/transport-protocol-policy' 2016-12-27 00:11:41 -08:00
tree-diff.c Merge branch 'jk/avoid-unbounded-alloca' 2016-06-27 09:56:48 -07:00
tree-walk.c fsck: handle bad trees like other errors 2016-09-27 14:09:10 -07:00
tree-walk.h fsck: handle bad trees like other errors 2016-09-27 14:09:10 -07:00
tree.c use QSORT 2016-09-29 15:42:18 -07:00
tree.h
unicode_width.h unicode_width.h: update the width tables to Unicode 9.0 2016-12-14 09:48:07 -08:00
unimplemented.sh
unix-socket.c
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'sb/unpack-trees-grammofix' 2016-12-19 14:45:31 -08:00
unpack-trees.h diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const 2013-06-02 15:31:14 -07:00
upload-pack.c Merge branch 'ls/filter-process' 2016-10-31 13:15:21 -07:00
url.c introduce hex2chr() for converting two hexadecimal digits to a character 2016-09-07 10:42:46 -07:00
url.h url: decode buffers that are not NUL-terminated 2011-07-20 11:38:34 -07:00
urlmatch.c
urlmatch.h
usage.c Merge branch 'cc/apply-am' 2016-09-19 13:47:18 -07:00
userdiff.c userdiff: add built-in pattern for CSS 2016-06-03 14:45:56 -07:00
userdiff.h diff: clarify textconv interface 2016-02-22 10:40:35 -08:00
utf8.c utf8: add function to align a string into given strbuf 2015-09-17 10:02:48 -07:00
utf8.h
varint.c
varint.h cleanups: ensure that git-compat-util.h is included first 2014-09-15 12:05:14 -07:00
version.c
version.h include agent identifier in capability string 2012-08-03 13:03:34 -07:00
versioncmp.c
walker.c
walker.h walker: let walker_say take arbitrary formats 2016-07-08 10:11:23 -07:00
wildmatch.c
wildmatch.h
worktree.c worktree list: keep the list sorted 2016-11-28 13:18:51 -08:00
worktree.h worktree list: keep the list sorted 2016-11-28 13:18:51 -08:00
wrap-for-bin.sh
wrapper.c
write_or_die.c run-command: move check_pipe() from write_or_die to run_command 2016-10-17 11:36:49 -07:00
ws.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
wt-status.c wt-status: implement opportunisitc index update correctly 2016-12-07 11:31:58 -08:00
wt-status.h wt-status: teach has_{unstaged,uncommitted}_changes() about submodules 2016-10-07 09:29:31 -07:00
xdiff-interface.c Merge branch 'js/regexec-buf' 2016-09-26 16:09:19 -07:00
xdiff-interface.h
zlib.c

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 http://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-.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://public-inbox.org/git, http://marc.info/?l=git and other archival sites.

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