Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Nguyễn Thái Ngọc Duy 090ea12671 parse_object: avoid putting whole blob in core
Traditionally, all the callers of check_sha1_signature() first
called read_sha1_file() to prepare the whole object data in core,
and called this function.  The function is used to revalidate what
we read from the object database actually matches the object name we
used to ask for the data from the object database.

Update the API to allow callers to pass NULL as the object data, and
have the function read and hash the object data using streaming API
to recompute the object name, without having to hold everything in
core at the same time.  This is most useful in parse_object() that
parses a blob object, because this caller does not have to keep the
actual blob data around in memory after a "struct blob" is returned.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-07 09:07:38 -08:00
block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros 2010-06-27 21:59:32 -07:00
builtin cat-file: use streaming API to print blobs 2012-03-07 09:07:38 -08:00
compat Merge branch 'bw/inet-pton-ntop-compat' into maint 2012-02-13 23:26:31 -08:00
contrib Merge branch 'th/git-diffall' 2012-03-01 20:59:25 -08:00
Documentation Sync with 1.7.9.3 2012-03-05 14:29:50 -08:00
git_remote_helpers Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2011-12-13 16:48:24 -08:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2011-12-16 22:18:42 -08:00
gitweb Merge branch 'jn/gitweb-hilite-regions' 2012-03-04 23:35:18 -08:00
mergetools Merge branch 'jn/ancient-meld-support' into maint 2012-02-27 15:33:07 -08:00
perl Merge branch 'maint' 2012-01-03 13:48:00 -08:00
po Merge branch 'master' of https://github.com/git-l10n/git-po into l10n 2012-03-01 20:51:37 -08:00
ppc
t cat-file: use streaming API to print blobs 2012-03-07 09:07:38 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn vcs-svn: suppress a -Wtype-limits warning 2012-02-02 11:05:18 -08:00
xdiff Merge branch 'rs/diff-postimage-in-context' 2012-01-29 13:18:55 -08:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Merge branch 'svn-fe' of git://repo.or.cz/git/jrn into jn/svn-fe 2012-01-27 11:20:00 -08:00
.mailmap Martin Langhoff has a new e-mail address 2010-10-06 12:08:48 -07:00
abspath.c Merge branch 'js/maint-add-path-stat-pwd' into maint 2011-08-16 11:41:27 -07:00
aclocal.m4 configure: use AC_LANG_PROGRAM consistently 2011-02-14 10:55:15 -08:00
advice.c Merge branch 'nd/clone-detached' 2012-01-31 22:24:23 -08:00
advice.h clone: print advice on checking out detached HEAD 2012-01-16 16:26:27 -08:00
alias.c split_cmdline: Allow caller to access error string 2010-08-11 09:36:23 -07:00
alloc.c unbreak and eliminate NO_C99_FORMAT 2011-03-17 15:30:49 -07:00
archive-tar.c upload-archive: allow user to turn off filters 2011-06-22 11:12:35 -07:00
archive-zip.c Merge branch 'jk/archive-tar-filter' 2011-07-19 09:45:32 -07:00
archive.c Merge branch 'jk/maint-upload-archive' 2012-01-12 23:34:17 -08:00
archive.h archive: don't let remote clients get unreachable commits 2011-11-21 14:42:25 -08:00
argv-array.c refactor argv_array into generic code 2011-09-14 11:56:36 -07:00
argv-array.h refactor argv_array into generic code 2011-09-14 11:56:36 -07:00
attr.c Merge branch 'maint-1.7.6' into maint-1.7.7 2012-01-11 19:11:00 -08:00
attr.h Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
base85.c Standardize do { ... } while (0) style 2010-08-12 15:44:51 -07:00
bisect.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
bisect.h rev-list: fix --verify-objects --quiet becoming --objects 2012-02-28 10:47:30 -08:00
blob.c
blob.h Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
branch.c Merge branch 'jn/maint-sequencer-fixes' into maint 2011-12-28 11:32:39 -08:00
branch.h Merge branch 'jn/branch-move-to-self' 2011-12-13 22:53:08 -08:00
builtin.h Merge branch 'jk/upload-archive-use-start-command' 2011-12-16 22:33:30 -08:00
bulk-checkin.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bulk-checkin.h bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c Merge branch 'tr/maint-bundle-long-subject' into maint 2012-03-04 22:16:30 -08:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c Merge branch 'jc/maint-commit-ignore-i-t-a' into maint 2012-02-16 14:08:00 -08:00
cache-tree.h cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
cache.h Merge branch 'jk/config-include' 2012-02-23 13:30:14 -08:00
check_bindir
check-builtins.sh
check-racy.c
color.c want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
color.h want_color: automatically fallback to color.ui 2011-08-19 15:51:38 -07:00
combine-diff.c pass struct commit to diff_tree_combined_merge() 2011-12-17 18:22:29 -08:00
command-list.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
commit.c Merge branch 'nd/index-pack-no-recurse' 2012-01-29 13:18:56 -08:00
commit.h Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
config.c config: add include directive 2012-02-17 07:59:55 -08:00
config.mak.in Makefile: introduce CHARSET_LIB to link with -lcharset 2012-02-13 00:11:01 -08:00
configure.ac Merge branch 'js/configure-libintl' into maint 2012-02-26 17:04:53 -08:00
connect.c server_supports(): parse feature list more carefully 2012-01-08 14:26:28 -08:00
connected.c check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
connected.h check_everything_connected(): libify 2011-09-09 15:19:02 -07:00
convert.c Merge branch 'jk/maint-avoid-streaming-filtered-contents' into maint 2012-03-04 22:16:40 -08:00
convert.h teach convert_to_git a "dry run" mode 2012-02-24 14:11:27 -08:00
copy.c
COPYING
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: use git_prompt instead of git_getpass 2011-12-12 16:09:39 -08:00
credential.h credential: make relevance of http path configurable 2011-12-11 23:16:25 -08:00
csum-file.c csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
csum-file.h csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
ctype.c ctype.c only wants git-compat-util.h 2012-02-10 12:53:55 -08:00
daemon.c git-daemon: produce output when ready 2012-01-08 15:08:03 -08:00
date.c Merge branch 'jc/parse-date-raw' into maint 2012-02-13 11:42:15 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c fix >4GiB source delta assertion failure 2010-08-21 23:53:26 -07:00
diff-lib.c diff-index: enable recursive pathspec matching in unpack_trees 2012-01-18 15:44:02 -08:00
diff-no-index.c Convert struct diff_options to use struct pathspec 2011-02-03 12:28:15 -08:00
diff.c Merge branch 'jc/diff-stat-scaler' into maint 2012-02-21 15:00:33 -08:00
diff.h Use correct grammar in diffstat summary line 2012-02-03 23:19:42 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: factor out pickaxe 2011-10-07 15:46:14 -07:00
diffcore-rename.c diffcore-rename.c: avoid set-but-not-used warning 2011-06-01 13:54:17 -07:00
diffcore.h combine-diff: support format_callback 2011-08-20 23:03:06 -07:00
dir.c read_directory_recursive: reduce one indentation level 2011-10-27 11:27:57 -07:00
dir.h rename pathspec_prefix() to common_prefix() and move to dir.[ch] 2011-09-12 14:38:32 -07:00
editor.c
entry.c streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
environment.c Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
exec_cmd.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
exec_cmd.h
fast-import.c fast-import: zero all of 'struct tag' to silence valgrind 2012-03-05 09:36:09 -08:00
fetch-pack.h standardize brace placement in struct definitions 2011-03-16 12:49:02 -07:00
fixup-builtins
fmt-merge-msg.h fmt-merge-msg: use branch.$name.description 2011-10-07 10:11:47 -07:00
fsck.c fsck: improve committer/author check 2011-08-11 12:21:07 -07:00
fsck.h
generate-cmdlist.sh misc-sh: fix up whitespace in some other .sh files. 2011-08-05 15:04:48 -07:00
gettext.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
gettext.h i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
git-add--interactive.perl add -i: ignore terminal escape sequences 2011-05-17 20:44:17 -07:00
git-am.sh Merge branch 'jc/am-3-nonstandard-popt' 2012-03-04 23:35:12 -08:00
git-archimport.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-bisect.sh Merge branch 'js/bisect-no-checkout' into maint 2011-11-01 16:03:35 -07:00
git-compat-util.h ctype: implement islower/isupper macro 2012-02-10 12:56:29 -08:00
git-cvsexportcommit.perl git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS 2012-01-11 18:04:08 -08:00
git-cvsimport.perl Merge branch 'gr/cvsimport-alternative-cvspass-location' into maint 2011-05-13 10:44:54 -07:00
git-cvsserver.perl use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
git-difftool--helper.sh git-difftool: allow skipping file by typing 'n' at prompt 2011-10-10 10:21:11 -07:00
git-difftool.perl use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
git-filter-branch.sh Merge branch 'jk/filter-branch-require-clean-work-tree' into maint 2011-10-15 20:46:38 -07:00
git-instaweb.sh git-instaweb: Check that correct config file exists for (re)start 2011-06-27 09:11:41 +00:00
git-lost-found.sh
git-merge-octopus.sh merge-octopus: Work around environment issue on Windows 2010-10-01 23:08:46 +01:00
git-merge-one-file.sh Merge branch 'js/maint-merge-one-file-osx-expr' into maint 2011-10-21 10:49:25 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'maint' 2011-09-19 20:46:48 -07:00
git-mergetool.sh mergetool: Provide an empty file when needed 2012-01-23 11:50:22 -08:00
git-parse-remote.sh Merge branch 'mz/rebase' 2011-04-28 14:11:39 -07:00
git-pull.sh "git pull" doesn't know "--edit" 2012-02-12 19:24:47 -08:00
git-quiltimport.sh
git-rebase--am.sh git-rebase--am: remove unnecessary --3way option 2011-02-10 14:08:10 -08:00
git-rebase--interactive.sh Merge branch 'aw/rebase-i-stop-on-failure-to-amend' into maint 2011-12-28 11:32:34 -08:00
git-rebase--merge.sh rebase -m: only call "notes copy" when rewritten exists and is non-empty 2012-02-26 16:32:37 -08:00
git-rebase.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-relink.perl Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
git-remote-testgit.py (short) documentation for the testgit remote helper 2011-09-01 15:52:02 -07:00
git-repack.sh Merge branch 'tr/maint-git-repack-tmpfile' into maint 2010-11-24 12:47:10 -08:00
git-request-pull.sh request-pull: explicitly ask tags/$name to be pulled 2012-01-31 21:27:58 -08:00
git-send-email.perl send-email: multiedit is a boolean config option 2012-01-09 15:15:28 -08:00
git-sh-i18n.sh add a Makefile switch to avoid gettext translation in shell scripts 2012-01-23 14:24:14 -08:00
git-sh-setup.sh Merge branch 'jc/parse-date-raw' into maint 2012-02-13 11:42:15 -08:00
git-stash.sh stash: Don't fail if work dir contains file named 'HEAD' 2012-01-01 01:11:56 -08:00
git-submodule.sh submodule add: fix breakage when re-adding a deep submodule 2012-01-24 14:18:18 -08:00
git-svn.perl git-svn.perl: fix a false-positive in the "already exists" test 2012-02-21 21:37:31 +00:00
GIT-VERSION-GEN Git 1.7.9.3 2012-03-05 14:29:07 -08:00
git-web--browse.sh git-web--browse: avoid the use of eval 2011-10-03 10:47:07 -07:00
git.c dashed externals: kill children on exit 2012-01-08 15:07:20 -08:00
git.spec.in git.spec: Workaround localized messages not put in any RPM 2012-02-03 23:06:30 -08:00
gpg-interface.c verify_signed_buffer: fix stale comment 2012-01-05 13:02:26 -08:00
gpg-interface.h Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
graph.c color: delay auto-color decision until point of use 2011-08-19 15:51:34 -07:00
graph.h Enable custom schemes for column colors in the graph API 2010-07-13 16:33:02 -07:00
grep.c Sync with 1.7.8.5 2012-02-26 16:42:35 -08:00
grep.h grep: respect diff attributes for binary-ness 2012-02-02 10:36:08 -08:00
hash.c for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
hash.h for_each_hash: allow passing a 'void *data' pointer to callback 2011-02-18 22:25:51 -08:00
help.c pager: find out the terminal width before spawning the pager 2012-02-13 15:08:47 -08:00
help.h builtin.h: Move two functions definitions to help.h. 2010-09-01 08:00:51 -07:00
hex.c get_sha1_hex(): do not read past a NUL character 2011-10-05 13:45:16 -07:00
http-backend.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-walker.c http: make curl callbacks match contracts from curl header 2011-05-04 13:30:28 -07:00
http.c Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
http.h Merge branch 'jk/maint-push-over-dav' into maint 2011-12-28 11:32:37 -08:00
ident.c ident: do not retrieve default ident when unnecessary 2011-10-06 11:16:16 -07:00
imap-send.c Sync with 1.7.6.6 2012-02-05 23:53:21 -08:00
INSTALL Fix build problems related to profile-directed optimization 2012-02-06 00:15:12 -08:00
kwset.c sparse: Fix an "Using plain integer as NULL pointer" warning 2011-09-11 14:43:14 -07:00
kwset.h Adapt the kwset code to Git 2011-08-20 22:33:57 -07:00
levenshtein.c
levenshtein.h
LGPL-2.1 provide a copy of the LGPLv2.1 2011-05-19 18:23:17 -07:00
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h list-objects: pass callback data to show_objects() 2011-09-01 15:46:12 -07:00
ll-merge.c Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
ll-merge.h merge-recursive --patience 2010-08-26 09:20:03 -07:00
lockfile.c Name make_*_path functions more accurately 2011-03-17 16:08:30 -07:00
log-tree.c Merge branch 'nd/maint-refname-in-hierarchy-check' 2012-01-29 13:18:51 -08:00
log-tree.h Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
mailmap.c mailmap: always return a plain mail address from map_user() 2012-02-06 14:00:06 -08:00
mailmap.h mailmap.c: remove unused function 2010-01-12 01:06:09 -08:00
Makefile Merge branch 'master' into git-po 2012-02-28 12:23:26 +08:00
match-trees.c
merge-file.c sparse: Fix an "symbol 'merge_file' not decared" warning 2011-04-11 10:35:25 -07:00
merge-file.h sparse: Fix an "symbol 'merge_file' not decared" warning 2011-04-11 10:35:25 -07:00
merge-recursive.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
merge-recursive.h merge-recursive: Save D/F conflict filenames instead of unlinking them 2011-08-14 14:19:35 -07:00
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
notes-cache.h
notes-merge.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
notes-merge.h Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes.c Do not use C++-style comments 2011-08-22 10:07:07 -07:00
notes.h notes: refactor display notes default handling 2011-03-29 14:31:59 -07:00
object.c parse_object: avoid putting whole blob in core 2012-03-07 09:07:38 -08:00
object.h object.h: Remove obsolete struct object_refs 2011-03-14 10:49:28 -07:00
pack-check.c fsck: print progress 2011-11-06 20:31:28 -08:00
pack-refs.c pack_refs(): remove redundant check 2012-01-17 11:41:41 -08:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
pack.h Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
pager.c Merge branch 'zj/decimal-width' 2012-02-20 00:15:11 -08:00
parse-options-cb.c parseopt: add OPT_NOOP_NOARG 2011-09-28 12:46:21 -07:00
parse-options.c parse-options: typo check for unknown switches 2012-03-04 18:28:59 -08:00
parse-options.h parse-options: remove PARSE_OPT_NEGHELP 2012-02-28 11:48:11 -08:00
patch-delta.c compat: helper for detecting unsigned overflow 2011-02-10 13:47:56 -08:00
patch-ids.c
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
path.c standardize and improve lookup rules for external local repos 2012-02-02 16:41:55 -08:00
pkt-line.c sparse: Fix errors and silence warnings 2011-04-03 10:14:53 -07:00
pkt-line.h
preload-index.c Convert ce_path_match() to use struct pathspec 2011-02-03 14:08:30 -08:00
pretty.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
progress.c
progress.h
prompt.c prompt: fall back to terminal if askpass fails 2012-02-03 14:37:04 -08:00
prompt.h prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h quote: provide sq_dequote_to_argv_array 2011-09-14 11:56:49 -07:00
reachable.c reachable: per-object progress 2011-11-07 22:12:19 -08:00
reachable.h prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c refresh_index: do not show unmerged path that is outside pathspec 2012-02-17 10:11:05 -08:00
README README: point to Documentation/SubmittingPatches 2012-02-23 11:35:59 -08:00
reflog-walk.c Merge branch 'jk/pretty-reglog-ent' 2011-12-22 11:27:28 -08:00
reflog-walk.h pretty: give placeholders to reflog identity 2011-12-16 13:00:15 -08:00
refs.c refs: remove the extra_refs API 2012-02-12 19:50:39 -08:00
refs.h refs: remove the extra_refs API 2012-02-12 19:50:39 -08:00
RelNotes Document accumulated fixes since 1.7.9.2 2012-02-26 17:08:59 -08:00
remote-curl.c Merge branch 'sp/smart-http-failure-to-push' into maint 2012-02-05 23:58:43 -08:00
remote.c push: add '--prune' option 2012-02-22 18:17:39 -08:00
remote.h push: add '--prune' option 2012-02-22 18:17:39 -08:00
replace_object.c inline lookup_replace_object() calls 2011-05-15 15:23:33 -07:00
rerere.c Merge branch 'maint' 2011-05-30 00:09:55 -07:00
rerere.h rerere: libify rerere_clear() and rerere_gc() 2011-05-08 12:55:34 -07:00
resolve-undo.c Convert the users of for_each_string_list to for_each_string_list_item macro 2010-07-05 11:44:35 -07:00
resolve-undo.h
revision.c Merge branch 'jk/grep-binary-attribute' into maint 2012-02-21 14:57:05 -08:00
revision.h log: --show-signature 2011-11-12 22:27:38 -08:00
run-command.c dashed externals: kill children on exit 2012-01-08 15:07:20 -08:00
run-command.h dashed externals: kill children on exit 2012-01-08 15:07:20 -08:00
send-pack.h push: pass --progress down to git-pack-objects 2010-10-18 16:20:19 -07:00
sequencer.c cherry-pick: No advice to commit if --no-commit 2012-02-22 11:13:43 -08:00
sequencer.h sequencer: factor code out of revert builtin 2012-01-11 18:11:49 -08:00
server-info.c update-server-info: Shorten read_pack_info_file() 2010-07-19 11:13:52 -07:00
setup.c standardize and improve lookup rules for external local repos 2012-02-02 16:41:55 -08:00
sh-i18n--envsubst.c Merge branch 'js/i18n-windows' 2011-06-29 17:03:13 -07:00
sha1_file.c parse_object: avoid putting whole blob in core 2012-03-07 09:07:38 -08:00
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
sha1-array.c receive-pack: eliminate duplicate .have refs 2011-05-19 20:02:31 -07:00
sha1-array.h receive-pack: eliminate duplicate .have refs 2011-05-19 20:02:31 -07:00
sha1-lookup.c
sha1-lookup.h
shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
shell.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
strbuf.c Merge branch 'tr/maint-bundle-long-subject' 2012-02-26 23:05:51 -08:00
strbuf.h Merge branch 'tr/maint-bundle-long-subject' into maint 2012-03-04 22:16:30 -08:00
streaming.c streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
streaming.h streaming: make streaming-write-entry to be more reusable 2012-03-07 09:07:37 -08:00
string-list.c string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
string-list.h string-list: Add API to remove an item from an unsorted list 2011-08-14 14:19:35 -07:00
submodule.c submodule: use diff_tree_combined_merge() instead of diff_tree_combined() 2011-12-17 18:23:24 -08:00
submodule.h submodule: Search for merges only at end of recursive merge 2011-10-13 10:18:16 -07:00
symlinks.c do not overwrite untracked symlinks 2011-02-21 22:51:07 -08:00
tag.c upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tag.h upload-pack: avoid parsing tag destinations 2012-01-06 13:28:57 -08:00
tar.h
test-chmtime.c
test-credential.c introduce credentials API 2011-12-11 23:16:24 -08:00
test-ctype.c test-ctype: add test for is_pathspec_magic 2011-10-03 11:44:03 -07:00
test-date.c test-date: fix sscanf type conversion 2010-07-06 08:42:15 -07:00
test-delta.c
test-dump-cache-tree.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
test-genrandom.c
test-index-version.c
test-line-buffer.c vcs-svn: remove buffer_read_string 2011-03-26 00:17:35 -05:00
test-match-trees.c
test-mktemp.c Improve error messages when temporary file creation fails 2010-12-21 19:51:17 -08:00
test-parse-options.c test-parse-options: convert to OPT_BOOL() 2012-02-26 15:18:41 -08:00
test-path-utils.c test-path-utils: Add subcommand "prefix_path" 2011-08-04 15:57:18 -07:00
test-run-command.c tests: check error message from run_command 2011-04-20 10:08:54 -07:00
test-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-subprocess.c Remove unused variables 2011-03-22 11:43:27 -07:00
test-svn-fe.c vcs-svn: cap number of bytes read from sliding view 2011-06-15 02:15:22 -05:00
thread-utils.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
thread-utils.h thread-utils.h: simplify the inclusion 2010-12-10 12:58:06 -08:00
trace.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
transport-helper.c Merge branch 'sp/smart-http-failure-to-push' into maint 2012-03-04 22:16:33 -08:00
transport.c Merge branch 'fc/push-prune' 2012-02-26 23:05:45 -08:00
transport.h push: add '--prune' option 2012-02-22 18:17:39 -08:00
tree-diff.c use custom rename score during --follow 2011-12-16 12:33:49 -08:00
tree-walk.c Document limited recursion pathspec matching with wildcards 2012-01-14 18:39:04 -08:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.h Convert read_tree{,_recursive} to support struct pathspec 2011-03-25 09:20:33 -07:00
unimplemented.sh
unix-socket.c unix-socket: do not let close() or chdir() clobber errno during cleanup 2012-01-11 17:37:10 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c tree-walk.c: do not leak internal structure in tree_entry_len() 2011-10-27 11:08:26 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint 2011-10-15 20:46:36 -07:00
upload-pack.c Merge branch 'jk/parse-object-cached' 2012-01-29 13:18:55 -08:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h url: decode buffers that are not NUL-terminated 2011-07-20 11:38:34 -07:00
usage.c error_routine: use parent's stderr if exec fails 2011-07-31 18:27:07 -07:00
userdiff.c drop odd return value semantics from userdiff_config 2012-02-07 10:44:54 -08:00
userdiff.h refactor get_textconv to not require diff_filespec 2011-05-23 15:46:02 -07:00
utf8.c strbuf: add fixed-length version of add_wrapped_text 2011-02-23 13:44:36 -08:00
utf8.h strbuf: add fixed-length version of add_wrapped_text 2011-02-23 13:44:36 -08:00
walker.c Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
walker.h
wrap-for-bin.sh i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
wrapper.c Add more large blob test cases 2012-03-07 09:07:37 -08:00
write_or_die.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
ws.c Rename git_checkattr() to git_check_attr() 2011-08-04 15:53:21 -07:00
wt-status.c Convert resolve_ref+xstrdup to new resolve_refdup function 2011-12-13 09:26:52 -08:00
wt-status.h Merge branch 'jn/status-translatable' 2011-03-19 23:24:19 -07:00
xdiff-interface.c add, merge, diff: do not use strcasecmp to compare config variable names 2011-05-14 18:53:39 -07:00
xdiff-interface.h
zlib.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08: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.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

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://marc.theaimsgroup.com/?l=git and other archival
sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.