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 5e0be134d3 config: do not ungetc EOF
When we are parsing a config value, if we see a carriage
return, we fgetc the next character to see if it is a
line feed (in which case we silently drop the CR). If it
isn't, we then ungetc the character, and take the literal
CR.

But we never check whether we in fact got a character at
all. If the config file ends in CR, we will get EOF here,
and try to ungetc EOF. This works OK for a real stdio
stream. The ungetc returns an error, and the next fgetc will
then return EOF again.

However, our custom buffer-based stream is not so fortunate.
It happily rewinds the position of the stream by one
character, ignoring the fact that we fed it EOF. The next
fgetc call returns the final CR again, over and over, and we
end up in an infinite loop.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-02-05 12:37:36 -08:00
block-sha1 Merge branch 'jk/pack-bitmap' 2014-02-27 14:01:48 -08:00
builtin diff-tree: avoid lookup_unknown_object 2014-07-28 10:14:34 -07:00
compat Merge branch 'cb/byte-order' into maint 2014-07-22 10:25:02 -07:00
contrib Merge branch 'ep/shell-assign-and-export-vars' into maint 2014-07-22 10:22:57 -07:00
Documentation Git 2.0.5 2014-12-17 11:30:46 -08:00
ewah ewah_bitmap.c: do not assume size_t and eword_t are the same size 2014-04-22 16:21:16 -07:00
git-gui Merge branch 'jl/use-vsatisfy-correctly-for-2.0' 2014-05-19 10:35:24 -07:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2014-01-23 08:50:50 -08:00
gitweb Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
mergetools mergetools/diffmerge: support DiffMerge as a git mergetool 2013-10-13 16:00:57 -07:00
perl code and test: fix misuses of "nor" 2014-03-31 15:29:33 -07:00
po fr: a lot of good fixups 2014-05-17 19:08:59 +02:00
ppc
t config: do not ungetc EOF 2015-02-05 12:37:36 -08:00
templates sample pre-commit hook: use --bool when retrieving config var 2013-09-24 12:26:49 -07:00
vcs-svn strbuf: introduce starts_with() and ends_with() 2013-12-05 14:12:52 -08:00
xdiff C: have space around && and || operators 2013-10-16 10:26:39 -07:00
.gitattributes
.gitignore Merge branch 'kb/fast-hashmap' 2014-02-27 14:01:09 -08:00
.mailmap .mailmap: combine Stefan Beller's emails 2014-07-23 11:27:05 -07:00
abspath.c Merge branch 'ap/path-max' 2014-01-10 10:32:18 -08:00
aclocal.m4
advice.c Merge branch 'jc/push-2.0-default-to-simple' 2014-03-07 15:13:15 -08:00
advice.h Merge branch 'jc/push-2.0-default-to-simple' 2014-03-07 15:13:15 -08:00
alias.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
alloc.c alloc: factor out commit index 2014-07-28 10:14:33 -07:00
archive-tar.c archive-tar: use parse_config_key when parsing config 2013-01-23 08:41:50 -08:00
archive-zip.c Merge branch 'sb/archive-zip-double-assignment-fix' into maint 2013-07-19 10:40:53 -07:00
archive.c Merge branch 'rm/strchrnul-not-strlen' 2014-03-18 13:51:18 -07:00
archive.h archive: convert to use parse_pathspec 2013-07-15 10:56:07 -07:00
argv-array.c Merge branch 'fa/remote-svn' 2012-10-25 06:42:02 -04:00
argv-array.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
attr.c attr.c: use ALLOC_GROW() in handle_attr_line() 2014-03-03 14:54:37 -08:00
attr.h
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c Merge branch 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
bisect.h Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
blob.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
blob.h
branch.c Merge branch 'an/branch-config-message' 2014-03-31 16:31:20 -07:00
branch.h
builtin.h builtin/help.c: speed up is_git_command() by checking for builtin commands first 2014-01-06 11:26:31 -08:00
bulk-checkin.c finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
bulk-checkin.h
bundle.c Merge branch 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
bundle.h
cache-tree.c Merge branch 'rm/strchrnul-not-strlen' 2014-03-18 13:51:18 -07:00
cache-tree.h Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache.h Sync with v1.9.5 2014-12-17 11:28:54 -08:00
check_bindir
check-builtins.sh check-builtins.sh: use the $(...) construct for command substitution 2014-03-25 13:42:52 -07:00
check-racy.c
color.c make color.ui default to 'auto' 2013-06-10 10:55:42 -07:00
color.h
column.c comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
column.h
combine-diff.c Merge branch 'mk/show-s-no-extra-blank-line-for-merges' into maint 2014-06-25 11:49:39 -07:00
command-list.txt peek-remote: remove deprecated alias of ls-remote 2013-11-12 14:10:22 -08:00
commit-slab.h commit-slab: provide a static initializer 2014-06-13 12:08:17 -07:00
commit.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
commit.h reuse cached commit buffer when parsing signatures 2014-06-13 12:10:13 -07:00
config.c config: do not ungetc EOF 2015-02-05 12:37:36 -08:00
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname Sync with v1.9.5 2014-12-17 11:28:54 -08:00
configure.ac Merge branch 'dm/configure-iconv-locale-charset' 2014-03-25 11:07:51 -07:00
connect.c use xmemdupz() to allocate copies of strings given by start and length 2014-07-21 10:37:02 -07:00
connect.h connect.c: refactor url parsing 2013-12-09 14:54:48 -08:00
connected.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
connected.h connected.c: add new variant that runs with --shallow-file 2013-12-10 16:14:18 -08:00
convert.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
convert.h typofix: in-code comments 2013-07-22 16:06:49 -07:00
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
credential.c
credential.h
csum-file.c Merge branch 'jk/sha1write-void' 2014-01-10 10:33:09 -08:00
csum-file.h Merge branch 'jk/sha1write-void' 2014-01-10 10:33:09 -08:00
ctype.c ctype: support iscntrl, ispunct, isxdigit and isprint 2012-10-15 14:58:16 -07:00
daemon.c daemon: move daemonize() to libgit.a 2014-02-10 10:46:35 -08:00
date.c i18n: fix uncatchable comments for translators in date.c 2014-04-17 11:03:28 -07:00
decorate.c decorate.c: compact table when growing 2013-05-16 11:51:08 -07:00
decorate.h
delta.h comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
diff-delta.c create_delta_index: simplify condition always evaluating to true 2013-08-18 12:56:23 -07:00
diff-lib.c Merge branch 'jk/diff-files-assume-unchanged' into maint 2014-06-25 11:47:09 -07:00
diff-no-index.c Merge branch 'jc/fix-diff-no-index-diff-opt-parse' into maint 2014-04-09 11:59:16 -07:00
diff.c Merge branch 'bg/xcalloc-nmemb-then-size' into maint 2014-07-22 10:25:17 -07:00
diff.h Merge branch 'jc/hold-diff-remove-q-synonym-for-no-deletion' 2014-03-07 15:17:41 -08:00
diffcore-break.c diffcore-break: don't divide by zero 2013-04-03 12:48:02 -07:00
diffcore-delta.c
diffcore-order.c Merge branch 'nd/no-more-fnmatch' 2014-03-14 14:25:31 -07:00
diffcore-pickaxe.c pickaxe: simplify kwset loop in contains() 2014-03-24 15:13:17 -07:00
diffcore-rename.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
diffcore.h Merge branch 'nd/diff-quiet-stat-dirty' into maint 2014-03-18 13:59:56 -07:00
dir.c dir.c:trim_trailing_spaces(): fix for " \ " sequence 2014-06-02 15:48:48 -07:00
dir.h pathspec: pass directory indicator to match_pathspec_item() 2014-02-24 14:37:19 -08:00
editor.c editor: use canonicalized absolute path 2013-07-29 12:15:27 -07:00
entry.c Merge branch 'mh/remove-subtree-long-pathname-fix' into maint 2014-04-03 13:39:05 -07:00
environment.c Sync with v1.9.5 2014-12-17 11:28:54 -08:00
exec_cmd.c
exec_cmd.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
fast-import.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
fetch-pack.c Merge branch 'jk/shallow-update-fix' into maint 2014-04-03 13:39:03 -07:00
fetch-pack.h Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
fmt-merge-msg.h
fsck.c Sync with v1.9.5 2014-12-17 11:28:54 -08:00
fsck.h
generate-cmdlist.sh
gettext.c gettext.c: detect the vsnprintf bug at runtime 2013-12-04 16:10:51 -08:00
gettext.h
git-add--interactive.perl Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
git-am.sh Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
git-archimport.perl git-archimport: use a lowercase "usage:" string 2013-02-24 13:31:06 -08:00
git-bisect.sh git-bisect.sh: fix a few style issues 2014-03-03 18:29:34 -08:00
git-compat-util.h Merge branch 'ym/fix-opportunistic-index-update-race' into maint 2014-06-25 11:49:48 -07:00
git-cvsexportcommit.perl git-cvsexportcommit: use a lowercase "usage:" string 2013-02-24 13:31:07 -08:00
git-cvsimport.perl git-cvsimport: use a lowercase "usage:" string 2013-02-24 13:31:07 -08:00
git-cvsserver.perl Merge branch 'ak/cvsserver-stabilize-use-of-hash-keys' 2013-11-04 14:58:05 -08:00
git-difftool--helper.sh difftool: display the number of files in the diff queue in the prompt 2013-12-06 14:00:27 -08:00
git-difftool.perl difftool: support repositories with .git-files 2014-02-24 09:53:57 -08:00
git-filter-branch.sh filter-branch: eliminate duplicate mapped parents 2014-07-01 08:30:41 -07:00
git-instaweb.sh git-instaweb: add support for Apache 2.4 2014-05-27 12:57:19 -07:00
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'kb/p4merge' 2013-03-26 13:15:24 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-mergetool.sh Merge branch 'al/mergetool-printf-fix' 2013-02-14 10:29:37 -08:00
git-p4.py Merge branch 'cl/p4-use-diff-tree' into maint 2014-05-08 10:01:32 -07:00
git-parse-remote.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-pull.sh pull: do not abuse 'break' inside a shell 'case' 2014-06-12 12:15:49 -07:00
git-quiltimport.sh git-sh-setup.sh: add variable to use the stuck-long mode 2014-02-03 12:11:10 -08:00
git-rebase--am.sh Merge branch 'km/avoid-non-function-return-in-rebase' 2014-04-21 10:42:46 -07:00
git-rebase--interactive.sh Merge branch 'rr/rebase-autostash-fix' into maint 2014-06-25 11:49:31 -07:00
git-rebase--merge.sh Merge branch 'bc/fix-rebase-merge-skip' into maint 2014-07-16 11:16:16 -07:00
git-rebase.sh Merge branch 'rr/rebase-autostash-fix' into maint 2014-06-25 11:49:31 -07:00
git-relink.perl git-relink: use a lowercase "usage:" string 2013-02-24 13:31:06 -08:00
git-remote-testgit.sh Merge branch 'ep/shell-assign-and-export-vars' into maint 2014-07-22 10:22:57 -07:00
git-request-pull.sh Merge branch 'lt/request-pull' 2014-05-19 10:35:36 -07:00
git-send-email.perl Merge branch 'rk/send-email-ssl-cert' into maint 2014-02-13 13:38:19 -08:00
git-sh-i18n.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-sh-setup.sh git-sh-setup.sh: add variable to use the stuck-long mode 2014-02-03 12:11:10 -08:00
git-stash.sh Merge branch 'ep/shell-assign-and-export-vars' into maint 2014-07-22 10:22:57 -07:00
git-submodule.sh Revert "submodule: explicit local branch creation in module_clone" 2014-04-02 14:15:36 -07:00
git-svn.perl Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given 2014-04-19 11:30:13 +00:00
GIT-VERSION-GEN Git 2.0.5 2014-12-17 11:30:46 -08:00
git-web--browse.sh web--browse: Add support for xdg-open 2013-10-30 13:54:15 -07:00
git.c rename read_replace_refs to check_replace_refs 2014-02-20 14:16:55 -08:00
git.rc Makefile: Fix compilation of Windows resource file 2014-01-23 10:00:28 -08:00
git.spec.in
gpg-interface.c Merge branch 'mg/gpg-interface-using-status' into maint 2013-04-03 09:26:27 -07:00
gpg-interface.h merge/pull Check for untrusted good GPG signatures 2013-03-31 22:38:49 -07:00
graph.c graph: fix coloring around octopus merges 2013-10-18 12:48:48 -07:00
graph.h Revert "graph.c: mark private file-scope symbols as static" 2013-03-03 19:43:54 -08:00
grep.c Merge branch 'rs/grep-h-c' 2014-03-18 13:51:20 -07:00
grep.h grep: allow to use textconv filters 2013-05-10 10:27:31 -07:00
hashmap.c add a hashtable implementation that supports O(1) removal 2013-11-18 13:03:51 -08:00
hashmap.h hashmap.h: use 'unsigned int' for hash-codes everywhere 2014-02-24 15:26:30 -08:00
help.c Merge branch 'rt/help-pretty-prints-cmd-names' 2014-03-14 14:27:00 -07:00
help.h help: add help_unknown_ref() 2013-05-08 15:31:54 -07:00
hex.c
http-backend.c use xmemdupz() to allocate copies of strings given by start and length 2014-07-21 10:37:02 -07:00
http-fetch.c
http-push.c Merge branch 'ah/fix-http-push' into maint 2014-07-22 10:29:07 -07:00
http-walker.c
http.c Merge branch 'mh/object-code-cleanup' 2014-03-14 14:26:29 -07:00
http.h Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
ident.c Merge branch 'jk/split-broken-ident' 2013-10-28 10:43:32 -07:00
imap-send.c imap-send.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
INSTALL Typo fix: replacing it's -> its 2013-04-11 17:39:05 -07:00
khash.h pack-bitmap: add support for bitmap indexes 2013-12-30 12:19:22 -08:00
kwset.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c line-log: convert to using diff_tree_sha1() 2014-02-05 10:50:36 -08:00
line-log.h range-set: publish API for re-use by git-blame -L 2013-08-06 14:27:20 -07:00
line-range.c line-range: reject -L line numbers less than 1 2013-08-06 14:48:55 -07:00
line-range.h line-range: teach -L/RE/ to search relative to anchor point 2013-08-06 14:36:34 -07:00
list-objects.c Merge branch 'jk/pack-bitmap' 2014-04-08 12:00:33 -07:00
list-objects.h list-objects: reduce one argument in mark_edges_uninteresting 2013-08-28 11:54:18 -07:00
ll-merge.c convert some config callbacks to parse_config_key 2013-01-23 08:41:50 -08:00
ll-merge.h
lockfile.c lockfile: fix buffer overflow in path handling 2013-07-07 10:29:28 -07:00
log-tree.c Merge branch 'zk/log-graph-showsig' into maint 2014-07-22 10:28:51 -07:00
log-tree.h pretty: share code between format_decoration and show_decorations 2013-04-18 16:28:27 -07:00
mailmap.c Merge branch 'jc/strcasecmp-pure-inline' 2013-09-24 23:28:13 -07:00
mailmap.h mailmap: simplify map_user() interface 2013-01-10 12:33:08 -08:00
Makefile Merge branch 'nd/index-pack-one-fd-per-thread' into maint 2014-06-25 11:47:58 -07:00
match-trees.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
merge-blobs.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-blobs.h Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-recursive.c Merge branch 'jk/commit-buffer-length' into maint 2014-07-16 11:16:38 -07:00
merge-recursive.h Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
merge.c Move try_merge_command and checkout_fast_forward to libgit.a 2012-10-29 03:08:30 -04:00
mergesort.c
mergesort.h
name-hash.c name-hash: retire unused index_name_exists() 2014-02-24 15:26:33 -08:00
notes-cache.c replace dangerous uses of strbuf_attach 2014-06-12 10:29:42 -07:00
notes-cache.h
notes-merge.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
notes-merge.h Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes-utils.c commit_tree: take a pointer/len pair rather than a const strbuf 2014-06-12 10:29:41 -07:00
notes-utils.h commit_tree: take a pointer/len pair rather than a const strbuf 2014-06-12 10:29:41 -07:00
notes.c notes.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
notes.h many small typofixes 2013-07-29 12:32:25 -07:00
object.c object_as_type: set commit index 2014-07-28 10:14:34 -07:00
object.h add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
pack-bitmap-write.c Use hashcpy() when copying object names 2014-03-06 14:03:12 -08:00
pack-bitmap.c add ignore_missing_links mode to revwalk 2014-04-04 13:31:38 -07:00
pack-bitmap.h pack-bitmap: implement optional name_hash cache 2013-12-30 12:19:23 -08:00
pack-check.c
pack-objects.c pack-objects: use free()+xcalloc() instead of xrealloc()+memset() 2014-06-02 13:51:22 -07:00
pack-objects.h pack-objects: implement bitmap writing 2013-12-30 12:19:22 -08:00
pack-revindex.c pack-revindex.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
pack-revindex.h do not discard revindex when re-preparing packfiles 2014-01-16 14:33:46 -08:00
pack-write.c finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
pack.h finish_tmp_packfile():use strbuf for pathname construction 2014-03-03 12:15:10 -08:00
pager.c pager: do allow spawning pager recursively 2014-04-28 16:03:22 -07:00
parse-options-cb.c prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
parse-options.c Merge branch 'mr/opt-set-ptr' 2014-04-08 12:00:17 -07:00
parse-options.h Merge branch 'mr/opt-set-ptr' 2014-04-08 12:00:17 -07:00
patch-delta.c
patch-ids.c patch-ids.c: use ALLOC_GROW() in add_commit() 2014-03-03 14:49:12 -08:00
patch-ids.h
path.c Sync with v1.9.5 2014-12-17 11:28:54 -08:00
pathspec.c use xcalloc() to allocate zero-initialized memory 2014-07-21 10:30:21 -07:00
pathspec.h Support pathspec magic :(exclude) and its short form :! 2013-12-06 13:00:39 -08:00
pkt-line.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
pkt-line.h comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
preload-index.c pathspec: convert some match_pathspec_depth() to ce_path_match() 2014-02-24 14:36:52 -08:00
pretty.c Merge branch 'jk/pretty-G-format-fixes' into maint 2014-07-16 11:17:21 -07:00
prio-queue.c sort-in-topological-order: use prio-queue 2013-06-11 15:15:21 -07:00
prio-queue.h sort-in-topological-order: use prio-queue 2013-06-11 15:15:21 -07:00
progress.c i18n: mark all progress lines for translation 2014-02-24 09:08:37 -08:00
progress.h
prompt.c Revert "prompt: clean up strbuf usage" 2014-01-02 10:21:40 -08:00
prompt.h
quote.c quote: remove sq_quote_print() 2013-07-30 08:13:38 -07:00
quote.h quote: remove sq_quote_print() 2013-07-30 08:13:38 -07:00
reachable.c clear parsed flag when we free tree buffers 2013-06-06 10:29:12 -07:00
reachable.h
read-cache.c Sync with v1.9.5 2014-12-17 11:28:54 -08:00
README Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
reflog-walk.c reflog-walk.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
reflog-walk.h
refs.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
refs.h remote prune: optimize "dangling symref" check/warning 2014-05-27 12:30:47 -07:00
RelNotes Git 2.0.5 2014-12-17 11:30:46 -08:00
remote-curl.c http: never use curl_easy_perform 2014-02-18 15:50:57 -08:00
remote-testsvn.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
remote.c remote.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
remote.h push: detect local refspec errors early 2014-03-05 13:23:27 -08:00
replace_object.c Merge branch 'dd/use-alloc-grow' 2014-03-18 13:50:21 -07:00
rerere.c pathspec: pass directory indicator to match_pathspec_item() 2014-02-24 14:37:19 -08:00
rerere.h rerere: convert to use parse_pathspec 2013-07-15 10:56:07 -07:00
resolve-undo.c Merge branch 'nd/submodule-pathspec-ending-with-slash' 2014-02-27 14:01:15 -08:00
resolve-undo.h convert unmerge_cache to take struct pathspec 2013-07-15 10:56:08 -07:00
revision.c Merge branch 'jk/commit-buffer-length' into maint 2014-07-16 11:16:38 -07:00
revision.h Merge branch 'jk/pack-bitmap' 2014-04-08 12:00:33 -07:00
run-command.c commit: fix patch hunk editing with "commit -p -m" 2014-03-18 11:25:12 -07:00
run-command.h run-command: mark run_hook_with_custom_index as deprecated 2014-03-18 11:26:12 -07:00
send-pack.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
send-pack.h remote.h: replace struct extra_have_objects with struct sha1_array 2013-12-10 16:14:15 -08:00
sequencer.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
sequencer.h cherry-pick, revert: add the --gpg-sign option 2014-01-27 15:15:52 -08:00
server-info.c
setup.c Merge branch 'mw/symlinks' into maint 2014-05-28 15:45:57 -07:00
sh-i18n--envsubst.c use xmemdupz() to allocate copies of strings given by start and length 2014-07-21 10:37:02 -07:00
sha1_file.c Merge branch 'rs/fix-alt-odb-path-comparison' into maint 2014-07-16 11:17:08 -07:00
sha1_name.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
sha1-array.c
sha1-array.h
sha1-lookup.c sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP 2013-08-24 22:31:20 -07:00
sha1-lookup.h
shallow.c shallow: verify shallow file after taking lock 2014-03-17 15:03:32 -07:00
shell.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
shortlog.h
show-index.c
sideband.c sideband.c: do not use ANSI control sequence on non-terminal 2014-06-02 11:02:27 -07:00
sideband.h pkt-line: move LARGE_PACKET_MAX definition from sideband 2013-02-20 13:42:22 -08:00
sigchain.c
sigchain.h
strbuf.c strbuf: remove prefixcmp() and suffixcmp() 2013-12-05 14:13:56 -08:00
strbuf.h strbuf: style fix -- top opening bracket on a separate line 2014-03-03 12:26:08 -08:00
streaming.c open_istream(): do not dereference NULL in the error case 2014-02-18 16:00:53 -08:00
streaming.h
string-list.c Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
string-list.h Merge branch 'mh/ceiling' into maint 2013-01-28 11:07:18 -08:00
submodule.c Merge branch 'kb/fast-hashmap' 2014-02-27 14:01:09 -08:00
submodule.h rm: delete .gitmodules entry of submodules removed from the work tree 2013-08-06 14:11:00 -07:00
symlinks.c
tag.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
tag.h
tar.h
test-chmtime.c comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
test-ctype.c
test-date.c
test-delta.c tests: use a lowercase "usage:" string 2013-02-24 21:30:10 -08:00
test-dump-cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
test-genrandom.c tests: use a lowercase "usage:" string 2013-02-24 21:30:10 -08:00
test-hashmap.c test-hashmap.c: drop unnecessary #includes 2014-02-24 14:33:46 -08:00
test-index-version.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-line-buffer.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
test-match-trees.c use 'tree-ish' instead of 'treeish' 2013-09-04 15:02:56 -07:00
test-mergesort.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-mktemp.c
test-parse-options.c parse-options: remove unused OPT_SET_PTR 2014-03-31 13:01:19 -07:00
test-path-utils.c path-utils test: rename mingw_path function to print_path 2013-10-14 07:32:53 -07:00
test-prio-queue.c prio-queue: priority queue of pointers to structs 2013-06-11 15:15:21 -07:00
test-read-cache.c read-cache: add simple performance test 2013-06-09 17:03:00 -07:00
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c test-sha1: add a binary output mode 2013-08-22 16:39:46 -07:00
test-sha1.sh
test-sigchain.c
test-string-list.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
test-subprocess.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-svn-fe.c msvc: test-svn-fe: Fix linker "unresolved external" error 2013-02-25 12:40:34 -08:00
test-urlmatch-normalization.c builtin/config.c: compilation fix 2013-08-09 09:20:38 -07:00
test-wildmatch.c stop using fnmatch (either native or compat) 2014-02-20 14:16:11 -08:00
thread-utils.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
thread-utils.h
trace.c shallow.c: the 8 steps to select new commits for .git/shallow 2013-12-10 16:14:16 -08:00
transport-helper.c transport-helper.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
transport.c push: detect local refspec errors early 2014-03-05 13:23:27 -08:00
transport.h fetch: add --update-shallow to accept refs that update .git/shallow 2013-12-10 16:14:17 -08:00
tree-diff.c tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL 2014-02-05 10:49:07 -08:00
tree-walk.c tree-walk: finally switch over tree descriptors to contain a pre-parsed entry 2014-02-24 14:43:29 -08:00
tree-walk.h tree-walk: finally switch over tree descriptors to contain a pre-parsed entry 2014-02-24 14:43:29 -08:00
tree.c add object_as_type helper for casting objects 2014-07-28 10:14:33 -07:00
tree.h Merge branch 'jk/free-tree-buffer' 2013-09-17 11:37:33 -07:00
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Sync with v1.9.5 2014-12-17 11:28:54 -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 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
url.c
url.h
urlmatch.c urlmatch.c: recompute pointer after append_normalized_escapes 2013-09-12 15:27:01 -07:00
urlmatch.h config: add generic callback wrapper to parse section.<url>.key 2013-07-31 14:58:42 -07:00
usage.c Merge branch 'jk/a-thread-only-dies-once' into maint 2013-04-26 11:25:59 -07:00
userdiff.c userdiff: have 'cpp' hunk header pattern catch more C++ anchor points 2014-03-21 15:03:32 -07:00
userdiff.h
utf8.c Merge branch 'maint-1.9' into maint-2.0 2015-01-07 13:27:19 -08:00
utf8.h utf8: add is_hfs_dotgit() helper 2014-12-17 11:04:39 -08:00
varint.c
varint.h
version.c
version.h
versioncmp.c tag: support --sort=<spec> 2014-02-27 14:04:05 -08:00
walker.c object.h: centralize object flag allocation 2014-03-25 15:09:24 -07:00
walker.h
wildmatch.c wildmatch: properly fold case everywhere 2013-06-02 14:13:05 -07:00
wildmatch.h wildmatch: support "no FNM_PATHNAME" mode 2013-01-01 15:32:37 -08:00
wrap-for-bin.sh wrap-for-bin: make bin-wrappers chainable 2013-07-08 08:55:34 -07:00
wrapper.c read-cache.c: verify index file before we opportunistically update it 2014-04-10 12:27:58 -07:00
write_or_die.c write_or_die: raise SIGPIPE when we get EPIPE 2013-02-20 13:42:21 -08:00
ws.c use strchrnul() in place of strchr() and strlen() 2014-03-10 08:35:30 -07:00
wt-status.c Merge branch 'jl/status-added-submodule-is-never-ignored' into maint 2014-06-25 11:50:03 -07:00
wt-status.h Merge branch 'mm/status-porcelain-format-i18n-fix' 2014-03-31 16:31:25 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c zlib: fix compilation failures with Sun C Compilaer 2013-04-22 09:49:04 -07:00

////////////////////////////////////////////////////////////////

	Git - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, 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

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.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.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).

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

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 http://news.gmane.org/gmane.comp.version-control.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.