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 a48e12ef7a range-diff: make diff option behavior (e.g. --stat) consistent
Make the behavior when diff options (e.g. "--stat") are passed
consistent with how "diff" behaves.

Before 73a834e9e2 ("range-diff: relieve callers of low-level
configuration burden", 2018-07-22) running range-diff with "--stat"
would produce stat output and the diff output, as opposed to how
"diff" behaves where once "--stat" is specified "--patch" also needs
to be provided to emit the patch output.

As noted in a previous change ("range-diff doc: add a section about
output stability", 2018-11-07) the "--stat" output with "range-diff"
is useless at the moment.

But we should behave consistently with "diff" in anticipation of such
output being useful in the future, because it would make for confusing
UI if "diff" and "range-diff" behaved differently when it came to how
they interpret diff options.

The new behavior is also consistent with the existing documentation
added in ba931edd28 ("range-diff: populate the man page",
2018-08-13). See "[...]also accepts the regular diff options[...]" in
git-range-diff(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-14 15:25:48 +09:00
.github
block-sha1
builtin format-patch: allow --range-diff to apply to a lone-patch 2018-08-14 14:27:05 -07:00
ci Merge branch 'nd/travis-gcc-8' 2018-05-30 14:04:08 +09:00
compat Merge branch 'nd/command-list' 2018-07-24 14:50:50 -07:00
contrib range-diff: make --dual-color the default mode 2018-08-13 10:44:52 -07:00
Documentation range-diff doc: add a section about output stability 2018-11-12 12:05:38 +09:00
ewah ewah: delete unused 'rlwit_discharge_empty()' 2018-06-21 09:39:48 -07:00
git-gui Merge branch 'cb/git-gui-ttk-style' 2018-04-25 13:28:49 +09:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2017-01-18 10:27:59 -08:00
gitweb
mergetools mergetools: add support for guiffy 2018-04-06 08:11:39 +09:00
negotiator Merge branch 'jt/fetch-negotiator-skipping' 2018-08-02 15:30:46 -07:00
perl
po l10n: ko.po: Update Korean translation 2018-06-19 02:19:42 +09:00
ppc
refs Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
sha1collisiondetection@19d97bf5af
sha1dc
t range-diff: make diff option behavior (e.g. --stat) consistent 2018-11-14 15:25:48 +09:00
templates
vcs-svn Convert remaining die*(BUG) messages 2018-05-06 19:06:14 +09:00
xdiff xdiff/xdiffi.c: remove unneeded function declarations 2018-07-17 11:25:31 -07:00
.clang-format
.gitattributes
.gitignore Introduce range-diff to compare iterations of a topic branch 2018-08-13 10:44:50 -07:00
.gitmodules
.mailmap .mailmap: merge different spellings of names 2018-06-29 09:29:44 -07:00
.travis.yml
.tsan-suppressions
abspath.c
aclocal.m4
advice.c Merge branch 'ab/checkout-default-remote' 2018-08-02 15:30:41 -07:00
advice.h Merge branch 'ab/checkout-default-remote' 2018-08-02 15:30:41 -07:00
alias.c
alias.h
alloc.c Merge branch 'sb/object-store-alloc' 2018-06-25 13:22:38 -07:00
alloc.h
apply.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
apply.h apply: add --intent-to-add 2018-05-29 12:42:30 +09:00
archive-tar.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
archive-zip.c
archive.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
archive.h
argv-array.c Merge branch 'ma/unpack-trees-free-msgs' 2018-05-30 21:51:29 +09:00
argv-array.h Merge branch 'ma/unpack-trees-free-msgs' 2018-05-30 21:51:29 +09:00
attr.c
attr.h
base85.c
bisect.c commit: add repository argument to lookup_commit_reference 2018-06-29 10:43:39 -07:00
bisect.h
blame.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
blame.h
blob.c blob: allow lookup_blob to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
blob.h blob: allow lookup_blob to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
branch.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
branch.h
builtin.h Introduce range-diff to compare iterations of a topic branch 2018-08-13 10:44:50 -07:00
bulk-checkin.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
bulk-checkin.h
bundle.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
bundle.h bundle: convert to struct object_id 2017-05-02 10:46:41 +09:00
cache-tree.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
cache-tree.h
cache.h Merge branch 'jt/commit-graph-per-object-store' 2018-08-02 15:30:47 -07:00
chdir-notify.c
chdir-notify.h
check_bindir
check-builtins.sh
check-racy.c
checkout.c checkout & worktree: introduce checkout.defaultRemote 2018-06-11 09:41:02 -07:00
checkout.h checkout: pass the "num_matches" up to callers 2018-06-11 09:41:01 -07:00
color.c Merge branch 'js/use-bug-macro' 2018-05-30 14:04:07 +09:00
color.h range-diff: use dim/bold cues to improve dual color mode 2018-08-13 10:44:52 -07:00
column.c
column.h
combine-diff.c
command-list.txt Introduce range-diff to compare iterations of a topic branch 2018-08-13 10:44:50 -07:00
commit-graph.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
commit-graph.h commit-graph: add repo arg to graph readers 2018-07-17 15:47:48 -07:00
commit-slab-decl.h
commit-slab-impl.h commit-slabs: remove realloc counter outside of slab struct 2018-06-29 10:43:40 -07:00
commit-slab.h
commit.c Merge branch 'jt/commit-graph-per-object-store' 2018-08-02 15:30:47 -07:00
commit.h Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
common-main.c
config.c Merge branch 'jt/commit-graph-per-object-store' 2018-08-02 15:30:47 -07:00
config.h Merge branch 'jk/fsck-gitmodules-gently' 2018-08-02 15:30:39 -07:00
config.mak.dev
config.mak.in
config.mak.uname
configure.ac
connect.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
connect.h fixup! connect.h: avoid forward declaration of an enum 2018-07-09 14:35:39 -07:00
connected.c fetch-pack: write shallow, then check connectivity 2018-07-03 14:57:44 -07:00
connected.h fetch-pack: write shallow, then check connectivity 2018-07-03 14:57:44 -07:00
convert.c Merge branch 'bb/pedantic' 2018-07-24 14:50:47 -07:00
convert.h
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h credential: let helpers tell us to quit 2014-12-04 10:11:12 -08:00
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
detect-compiler
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' 2017-09-28 14:47:56 +09:00
diff-lib.c Merge branch 'jk/has-uncommitted-changes-fix' 2018-08-02 15:30:38 -07:00
diff-no-index.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diff.c range-diff: use dim/bold cues to improve dual color mode 2018-08-13 10:44:52 -07:00
diff.h range-diff: use dim/bold cues to improve dual color mode 2018-08-13 10:44:52 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'tz/exclude-doc-smallfixes' 2018-07-18 12:20:34 -07:00
dir.h Merge branch 'bc/object-id' 2018-05-30 14:04:10 +09:00
editor.c launch_editor(): indicate that Git waits for user input 2017-12-07 10:10:19 -08:00
entry.c
environment.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
exec-cmd.c
exec-cmd.h
fast-import.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
fetch-negotiator.c negotiator/skipping: skip commits during fetch 2018-07-16 14:51:12 -07:00
fetch-negotiator.h negotiator/skipping: skip commits during fetch 2018-07-16 14:51:12 -07:00
fetch-object.c fetch-pack: put shallow info in output parameter 2018-06-28 09:33:29 -07:00
fetch-object.h unpack-trees: batch fetching of missing blobs 2017-12-08 09:58:51 -08:00
fetch-pack.c Merge branch 'jt/fetch-negotiator-skipping' 2018-08-02 15:30:46 -07:00
fetch-pack.h Merge branch 'jt/fetch-nego-tip' 2018-08-02 15:30:43 -07:00
fmt-merge-msg.h
fsck.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
fsck.h
fsmonitor.c Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
fsmonitor.h
generate-cmdlist.sh help: add --config to list all available config 2018-05-29 14:51:28 +09:00
gettext.c
gettext.h
git-add--interactive.perl Merge branch 'pw/add-p-recount' 2018-06-28 12:53:32 -07:00
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'js/use-bug-macro' 2018-05-30 14:04:07 +09:00
git-cvsexportcommit.perl git-cvsexportcommit: use a lowercase "usage:" string 2013-02-24 13:31:07 -08:00
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh Merge branch 'mb/filter-branch-optim' 2018-07-18 12:20:32 -07:00
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 git-p4: python3: fix octal constants 2018-06-19 09:34:32 -07:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'ag/rebase-p' 2018-06-25 13:22:39 -07:00
git-rebase--merge.sh Merge branch 'en/rebase-i-microfixes' 2018-07-18 12:20:33 -07:00
git-rebase--preserve-merges.sh git-rebase--preserve-merges: fix formatting of todo help message 2018-07-06 12:09:27 -07:00
git-rebase.sh Merge branch 'en/rebase-consistency' 2018-07-24 14:50:43 -07:00
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jm/send-email-tls-auth-on-batch' 2018-08-02 15:30:46 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh
git-submodule.sh Merge branch 'sb/submodule-core-worktree' 2018-07-18 12:20:28 -07:00
git-svn.perl
GIT-VERSION-GEN Prepare to start 2.19 cycle 2018-06-25 13:22:27 -07: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 Introduce range-diff to compare iterations of a topic branch 2018-08-13 10:44:50 -07:00
git.rc mingw: include the full version information in the resources 2017-11-01 13:43:52 +09:00
gpg-interface.c gpg-interface: make parse_gpg_output static and remove from interface header 2018-07-11 10:05:22 -07:00
gpg-interface.h gpg-interface: make parse_gpg_output static and remove from interface header 2018-07-11 10:05:22 -07:00
graph.c
graph.h
grep.c Merge branch 'tb/grep-only-matching' 2018-08-02 15:30:44 -07:00
grep.h Merge branch 'tb/grep-only-matching' 2018-08-02 15:30:44 -07:00
hash.h
hashmap.c
hashmap.h
help.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
help.h completion: drop the hard coded list of config vars 2018-05-29 14:51:28 +09:00
hex.c hex: switch to using the_hash_algo 2018-07-16 14:27:39 -07:00
http-backend.c tag: add repository argument to deref_tag 2018-06-29 10:43:39 -07:00
http-fetch.c Merge branch 'ma/http-walker-no-partial' 2018-05-08 15:59:35 +09:00
http-push.c tag: add repository argument to deref_tag 2018-06-29 10:43:39 -07:00
http-walker.c
http.c Merge branch 'bw/remote-curl-compressed-responses' 2018-05-30 21:51:29 +09:00
http.h Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
ident.c
imap-send.c
INSTALL
interdiff.c interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
interdiff.h interdiff: teach show_interdiff() to indent interdiff 2018-07-23 12:50:06 -07:00
iterator.h
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
line-log.h ALLOC_GROW: avoid -Wsign-compare warnings 2017-09-22 13:21:11 +09:00
line-range.c blame: prevent error if range ends past end of file 2018-06-15 10:29:13 -07:00
line-range.h
linear-assignment.c linear-assignment: a function to solve least-cost assignment problems 2018-08-13 10:44:50 -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: check if filter is NULL before using 2018-06-12 10:46:56 -07:00
list-objects-filter-options.h
list-objects-filter.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
list-objects-filter.h
list-objects.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
list-objects.h
list.h
ll-merge.c
ll-merge.h merge-recursive --patience 2010-08-26 09:20:03 -07:00
lockfile.c
lockfile.h
log-tree.c format-patch: allow --range-diff to apply to a lone-patch 2018-08-14 14:27:05 -07:00
log-tree.h
ls-refs.c
ls-refs.h
mailinfo.c
mailinfo.h
mailmap.c
mailmap.h
Makefile Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff 2018-08-14 14:23:53 -07:00
match-trees.c
mem-pool.c block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
mem-pool.h block alloc: add validations around cache_entry lifecyle 2018-07-03 10:58:27 -07:00
merge-blobs.c
merge-blobs.h Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-recursive.c Merge branch 'en/dirty-merge-fixes' 2018-08-02 15:30:45 -07:00
merge-recursive.h
merge.c Merge branch 'en/dirty-merge-fixes' 2018-08-02 15:30:45 -07:00
mergesort.c
mergesort.h
name-hash.c
notes-cache.c commit: add repository argument to lookup_commit_reference_gently 2018-06-29 10:43:39 -07:00
notes-cache.h
notes-merge.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
notes-merge.h
notes-utils.c commit: add repository argument to lookup_commit 2018-06-29 10:43:39 -07:00
notes-utils.h
notes.c object-store: move object access functions to object-store.h 2018-05-16 11:42:03 +09:00
notes.h
object-store.h Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
object.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
object.h Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
oidmap.c
oidmap.h
oidset.c
oidset.h
pack-bitmap-write.c Merge branch 'jt/remove-pack-bitmap-global' 2018-07-18 12:20:30 -07:00
pack-bitmap.c pack-bitmap: add free function 2018-06-21 12:22:48 -07:00
pack-bitmap.h pack-bitmap: add free function 2018-06-21 12:22:48 -07:00
pack-check.c
pack-objects.c Merge branch 'js/use-bug-macro' 2018-05-30 14:04:07 +09:00
pack-objects.h Merge branch 'nd/pack-objects-pack-struct' 2018-05-23 14:38:19 +09:00
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
packfile.c object: add repository argument to parse_object 2018-06-29 10:43:38 -07:00
packfile.h Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
pager.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
parse-options-cb.c commit: add repository argument to lookup_commit_reference 2018-06-29 10:43:39 -07:00
parse-options.c completion: collapse extra --no-.. options 2018-06-11 10:38:10 -07:00
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h patch-ids: convert to struct object_id 2017-06-02 09:36:07 +09:00
path.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
path.h Merge branch 'bb/pedantic' 2018-07-24 14:50:47 -07:00
pathspec.c
pathspec.h
pkt-line.c Merge branch 'js/use-bug-macro' 2018-05-30 14:04:07 +09:00
pkt-line.h
preload-index.c
pretty.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
protocol.c
protocol.h
quote.c
quote.h trace: avoid unnecessary quoting 2018-01-16 12:16:54 -08:00
range-diff.c range-diff: make diff option behavior (e.g. --stat) consistent 2018-11-14 15:25:48 +09:00
range-diff.h range-diff: relieve callers of low-level configuration burden 2018-08-14 14:27:04 -07:00
reachable.c tree: add repository argument to lookup_tree 2018-06-29 10:43:38 -07:00
reachable.h
read-cache.c Merge branch 'en/dirty-merge-fixes' 2018-08-02 15:30:45 -07:00
README.md note git-security@googlegroups.com in more places 2018-06-01 09:24:11 +09:00
ref-filter.c Merge branch 'jt/commit-graph-per-object-store' 2018-08-02 15:30:47 -07:00
ref-filter.h
reflog-walk.c object: add repository argument to parse_object 2018-06-29 10:43:38 -07:00
reflog-walk.h
refs.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
refs.h
refspec.c Merge branch 'ab/refspec-init-fix' 2018-06-28 12:53:29 -07:00
refspec.h refspec: add back a refspec_item_init() function 2018-06-11 10:11:31 -07:00
RelNotes Prepare to start 2.19 cycle 2018-06-25 13:22:27 -07:00
remote-curl.c
remote-testsvn.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
remote.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
remote.h fetch-pack: implement ref-in-want 2018-06-28 09:33:30 -07:00
replace-object.c
replace-object.h
repository.c Merge branch 'sb/object-store-alloc' 2018-06-25 13:22:38 -07:00
repository.h Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
rerere.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
rerere.h
resolve-undo.c block alloc: add lifecycle APIs for cache_entry structs 2018-07-03 10:58:27 -07:00
resolve-undo.h
revision.c Merge branch 'jt/tags-to-promised-blobs-fix' 2018-08-02 15:30:46 -07:00
revision.h format-patch: teach --range-diff to respect -v/--reroll-count 2018-08-14 14:27:04 -07:00
run-command.c
run-command.h
send-pack.c
send-pack.h
sequencer.c Merge branch 'bc/sequencer-export-work-tree-as-well' 2018-08-02 15:30:45 -07:00
sequencer.h Merge branch 'js/sequencer-and-root-commits' 2018-05-30 14:04:04 +09:00
serve.c
serve.h
server-info.c tag: add repository argument to deref_tag 2018-06-29 10:43:39 -07:00
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-file.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
sha1-lookup.c
sha1-lookup.h
sha1-name.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
shell.c Merge branch 'nd/command-list' 2018-06-01 15:06:37 +09:00
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c block alloc: allocate cache entries from mem_pool 2018-07-03 10:58:27 -07:00
split-index.h
strbuf.c strbuf: allocate space with GIT_MAX_HEXSZ 2018-07-16 14:27:39 -07:00
strbuf.h Merge branch 'en/rename-directory-detection-reboot' 2018-05-23 14:38:19 +09:00
streaming.c
streaming.h
string-list.c string-list.c: avoid conversion from void * to function pointer 2018-07-09 14:37:50 -07:00
string-list.h string-list.h: move documentation from Documentation/api/ into header 2017-09-27 09:14:34 +09:00
sub-process.c
sub-process.h
submodule-config.c Merge branch 'jk/fsck-gitmodules-gently' 2018-08-02 15:30:39 -07:00
submodule-config.h submodule-config: make 'config_from_gitmodules' private 2018-06-26 12:56:12 -07:00
submodule.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
submodule.h submodule: unset core.worktree if no working tree is present 2018-06-14 14:13:46 -07:00
symlinks.c
tag.c Merge branch 'jt/tags-to-promised-blobs-fix' 2018-08-02 15:30:46 -07:00
tag.h tag.c: allow deref_tag to handle arbitrary repositories 2018-06-29 10:43:40 -07:00
tar.h
tempfile.c
tempfile.h
thread-utils.c
thread-utils.h pack-objects: set number of threads before checking and warning 2014-10-13 12:53:46 -07:00
tmp-objdir.c
tmp-objdir.h
trace.c trace.c: export trace_setup_key 2018-03-30 12:49:57 -07:00
trace.h trace.c: export trace_setup_key 2018-03-30 12:49:57 -07:00
trailer.c
trailer.h
transport-helper.c Merge branch 'jt/fetch-nego-tip' 2018-08-02 15:30:43 -07:00
transport-internal.h fetch-pack: put shallow info in output parameter 2018-06-28 09:33:29 -07:00
transport.c Merge branch 'jt/fetch-nego-tip' 2018-08-02 15:30:43 -07:00
transport.h Merge branch 'jt/fetch-nego-tip' 2018-08-02 15:30:43 -07:00
tree-diff.c
tree-walk.c Merge branch 'bc/object-id' 2018-08-02 15:30:39 -07:00
tree-walk.h
tree.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
tree.h tree: allow lookup_tree to handle arbitrary repositories 2018-06-29 10:43:39 -07:00
unicode-width.h unicode: update the width tables to Unicode 11 2018-07-09 14:02:51 -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.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'jm/cache-entry-from-mem-pool' 2018-08-02 15:30:43 -07:00
unpack-trees.h
upload-pack.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h urlmatch: include host in urlmatch ranking 2017-02-01 13:22:46 -08:00
usage.c Merge branch 'jk/snprintf-truncation' 2018-05-30 21:51:28 +09:00
userdiff.c userdiff: support new keywords in PHP hunk header 2018-07-06 14:59:28 -07:00
userdiff.h
utf8.c utf8.c: avoid char overflow 2018-07-09 14:38:12 -07:00
utf8.h Sync with Git 2.17.1 2018-05-29 17:10:05 +09:00
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c Merge branch 'sb/object-store-grafts' 2018-07-18 12:20:28 -07:00
walker.h
wildmatch.c
wildmatch.h
worktree.c
worktree.h
wrap-for-bin.sh Make running git under other debugger-like programs easy 2018-04-25 10:47:22 +09:00
wrapper.c
write-or-die.c
ws.c
wt-status.c Merge branch 'sb/object-store-lookup' 2018-08-02 15:30:42 -07:00
wt-status.h
xdiff-interface.c
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 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-.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.

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