1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-16 14:04:52 +01:00
Find a file
Nicolas Morey-Chaisemartin 8cb5775b2b grep: Fix race condition in delta_base_cache
When running large git grep (ie: git grep regexp $(git rev-list --all)), glibc error sometimes occur:
*** glibc detected *** git: double free or corruption (!prev): 0x00000000010abdf0 ***

According to gdb the problem originate from release_delta_cash (sha1_file.c:1703)
		free(ent->data);

>From my analysis it seems that git grep threads do acquire lock before calling read_sha1_file but not before calling
read_object_with_reference who ends up calling read_sha1_file too.

Adding the lock around read_object_with_reference seems to fix the issue for me.
I've ran git grep about a dozen time and seen no more error while
it usually happened half the time before.

Signed-off-by: Nicolas Morey-Chaisemartin <nicolas@morey-chaisemartin.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-08-30 11:14:24 -07:00
block-sha1
compat msvc: Fix a compiler warning due to an incorrect pointer cast 2010-01-22 16:15:16 -08:00
contrib msvc: Fix an "unrecognized option" linker warning 2010-01-22 16:15:14 -08:00
Documentation Documentation: move away misplaced 'push --upstream' description 2010-01-24 11:01:45 -08:00
git-gui Merge branch 'maint' of git://git.spearce.org/git-gui into maint 2010-01-24 11:16:26 -08:00
git_remote_helpers Add Python support library for remote helpers 2009-11-24 15:50:20 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-12-09 15:38:42 -08:00
gitweb gitweb.js: Workaround for IE8 bug 2010-01-24 17:48:08 -08:00
perl
ppc
t t5541-http-push: make grep expression check for one line only 2010-01-25 09:53:02 -08:00
templates Merge branch 'bs/maint-pre-commit-hook-sample' into maint 2009-11-16 00:03:15 -08:00
xdiff Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
.gitattributes .gitattributes: detect 8-space indent in shell scripts 2010-01-06 12:22:25 -08:00
.gitignore Add test-run-command to .gitignore 2010-01-25 09:42:31 -08:00
.mailmap
abspath.c
advice.c Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
advice.h Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
archive.h
attr.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
attr.h git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
base85.c Merge branch 'maint-1.6.2' into maint-1.6.3 2010-01-18 21:29:47 -08:00
bisect.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
bisect.h builtin-rev-list.c: mark file-local function static 2010-01-11 23:16:16 -08:00
blob.c Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
blob.h Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
branch.c branch: warn and refuse to set a branch as a tracking branch of itself. 2010-01-18 17:46:28 -08:00
branch.h
builtin-add.c Remove diff machinery dependency from read-cache 2010-01-21 17:05:13 -08:00
builtin-annotate.c
builtin-apply.c Merge branch 'ag/patch-header-verify' 2010-01-20 20:28:51 -08:00
builtin-archive.c Merge branch 'il/vcs-helper' 2010-01-13 12:30:39 -08:00
builtin-bisect--helper.c
builtin-blame.c Merge branch 'maint' 2009-12-22 12:32:39 -08:00
builtin-branch.c Merge branch 'jc/branch-d' 2010-01-22 16:08:19 -08:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
builtin-check-ref-format.c check-ref-format -h: it does not know the --print option yet 2009-11-10 20:45:23 -08:00
builtin-checkout-index.c
builtin-checkout.c Merge branch 'jc/checkout-merge-base' 2010-01-20 20:28:51 -08:00
builtin-clean.c Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
builtin-clone.c Merge branch 'tc/clone-v-progress' 2010-01-17 15:58:58 -08:00
builtin-commit-tree.c commit-tree: remove unused #define 2010-01-25 09:53:12 -08:00
builtin-commit.c Merge branch 'nd/status-partial-refresh' 2010-01-20 20:28:50 -08:00
builtin-config.c builtin-config: add --path option doing ~ and ~user expansion. 2009-12-31 12:19:38 -08:00
builtin-count-objects.c Merge branch 'maint-1.6.3' into maint-1.6.4 2010-01-18 21:37:06 -08:00
builtin-describe.c describe: do not use unannotated tag even if exact match 2009-11-20 21:58:11 -08:00
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c Teach --stdin option to "log" family 2009-11-20 15:10:29 -08:00
builtin-diff.c
builtin-fast-export.c
builtin-fetch-pack.c Smart fetch over HTTP: client side 2009-11-04 17:58:15 -08:00
builtin-fetch.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c
builtin-fsck.c Check the format of more printf-type functions 2009-11-15 18:24:58 -08:00
builtin-gc.c General --quiet improvements 2009-12-03 10:08:54 -08:00
builtin-grep.c grep: Fix race condition in delta_base_cache 2011-08-30 11:14:24 -07:00
builtin-hash-object.c make "git hash-object" a built-in 2010-01-21 20:07:06 -08:00
builtin-help.c help: fix configured help format taking over command line one 2010-01-09 23:42:48 -08:00
builtin-index-pack.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
builtin-init-db.c
builtin-log.c Merge branch 'jc/maint-limit-note-output' 2010-01-22 16:08:01 -08:00
builtin-ls-files.c Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
builtin-ls-remote.c Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
builtin-ls-tree.c ls-tree: migrate to parse-options 2009-11-17 21:58:12 -08:00
builtin-mailinfo.c Merge branch 'jc/mailinfo-remove-brackets' 2009-11-30 14:43:24 -08:00
builtin-mailsplit.c Show usage string for 'git mailsplit -h' 2009-11-10 11:06:57 -08:00
builtin-merge-base.c
builtin-merge-file.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
builtin-merge-index.c make "merge-index" a built-in 2010-01-22 10:01:21 -08:00
builtin-merge-ours.c Show usage string for 'git merge-ours -h' 2009-11-09 17:08:45 -08:00
builtin-merge-recursive.c Make "subtree" part more orthogonal to the rest of merge-recursive. 2010-01-17 22:46:28 -08:00
builtin-merge-tree.c merge-tree: remove unnecessary call of git_extract_argv0_path 2010-01-22 10:01:06 -08:00
builtin-merge.c Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
builtin-mktag.c make "mktag" a built-in 2010-01-22 10:01:33 -08:00
builtin-mktree.c
builtin-mv.c git-mv: fix moving more than one source to a single destination 2010-01-22 14:31:30 -08:00
builtin-name-rev.c
builtin-pack-objects.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
builtin-pack-redundant.c make "git pack-redundant" a built-in 2010-01-22 10:07:14 -08:00
builtin-pack-refs.c
builtin-patch-id.c make "git patch-id" a built-in 2010-01-21 22:06:12 -08:00
builtin-prune-packed.c prune-packed: only show progress when stderr is a tty 2009-11-23 21:29:45 -08:00
builtin-prune.c
builtin-push.c Add push --set-upstream 2010-01-16 16:39:58 -08:00
builtin-read-tree.c Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
builtin-receive-pack.c Merge branch 'jc/1.7.0-push-safety' 2009-12-26 14:03:17 -08:00
builtin-reflog.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-remote.c Merge branch 'bg/maint-remote-update-default' into maint 2010-01-20 13:23:59 -08:00
builtin-replace.c
builtin-rerere.c Make 'rerere forget' work from a subdirectory. 2010-01-21 00:42:20 -08:00
builtin-reset.c Merge branch 'cc/reset-more' 2010-01-13 11:58:56 -08:00
builtin-rev-list.c builtin-rev-list.c: mark file-local function static 2010-01-11 23:16:16 -08:00
builtin-rev-parse.c Merge branch 'il/rev-glob' 2010-01-22 16:08:16 -08:00
builtin-revert.c Merge branch 'mm/conflict-advice' 2010-01-20 14:42:59 -08:00
builtin-rm.c rm: only refresh entries that we may touch 2010-01-19 15:04:23 -08:00
builtin-send-pack.c refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
builtin-shortlog.c Merge branch 'uk/maint-shortlog-encoding' 2009-11-30 14:42:28 -08:00
builtin-show-branch.c
builtin-show-ref.c Show usage string for 'git show-ref -h' 2009-11-09 17:08:53 -08:00
builtin-stripspace.c Show usage string for 'git stripspace -h' 2009-11-10 11:06:57 -08:00
builtin-symbolic-ref.c
builtin-tag.c tag -d: print sha1 of deleted tag 2009-12-10 18:45:34 -08:00
builtin-tar-tree.c Show usage string for 'git get-tar-commit-id -h' 2009-11-10 11:06:57 -08:00
builtin-unpack-file.c make "git unpack-file" a built-in 2010-01-22 10:02:16 -08:00
builtin-unpack-objects.c
builtin-update-index.c Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
builtin-update-ref.c
builtin-update-server-info.c
builtin-upload-archive.c Merge branch 'np/maint-sideband-favor-status' into maint 2009-12-03 13:50:24 -08:00
builtin-var.c make "git var" a built-in 2010-01-21 22:04:42 -08:00
builtin-verify-pack.c
builtin-verify-tag.c
builtin-write-tree.c
builtin.h make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
bundle.c Merge branch 'jc/log-stdin' 2009-11-23 22:30:08 -08:00
bundle.h
cache-tree.c
cache-tree.h
cache.h Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h Add a notice that only certain functions can print color escape codes 2009-11-27 00:28:40 -08:00
combine-diff.c Give the hunk comment its own color 2009-11-28 10:05:44 -08:00
command-list.txt Add git-http-backend to command-list. 2009-12-26 14:12:34 -08:00
commit.c Merge branch 'jh/notes' (early part) 2009-11-20 23:53:55 -08:00
commit.h Merge branch 'jc/maint-limit-note-output' 2010-01-22 16:08:01 -08:00
config.c Merge branch 'jc/ident' 2010-01-20 14:39:52 -08:00
config.mak.in
configure.ac Merge branch 'sr/vcs-helper' 2009-12-26 14:03:16 -08:00
connect.c git_connect: use use_shell instead of explicit "sh", "-c" 2010-01-25 09:37:18 -08:00
convert.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
copy.c
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/warn-author-committer-after-commit' 2010-01-20 14:40:12 -08:00
date.c date.c: mark file-local function static 2010-01-20 14:37:17 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
diff-no-index.c diff --no-index: make the usage string less scary 2009-11-10 12:00:21 -08:00
diff.c Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
diff.h Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
diffcore-break.c diffcore-break: save cnt_data for other phases 2009-11-16 13:21:12 -08:00
diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents 2009-12-05 10:54:17 -08:00
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c diffcore-rename: reduce memory footprint by freeing blob data early 2009-11-20 22:13:47 -08:00
diffcore.h Performance optimization for detection of modified submodules 2010-01-18 17:28:21 -08:00
dir.c Fix memory corruption when .gitignore does not end by \n 2010-01-20 20:01:52 -08:00
dir.h Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
editor.c editor: use run_command's shell feature 2010-01-05 23:41:51 -08:00
entry.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
environment.c Merge branch 'nd/sparse' 2010-01-13 11:58:34 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'jh/notes' (early part) 2010-01-20 20:28:49 -08:00
fetch-pack.h Smart fetch over HTTP: client side 2009-11-04 17:58:15 -08:00
fixup-builtins
fsck.c
fsck.h Check the format of more printf-type functions 2009-11-15 18:24:58 -08:00
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'maint' 2009-12-08 22:47:09 -08:00
git-am.sh Teach --[no-]rerere-autoupdate option to merge, revert and friends 2009-12-04 00:20:48 -08:00
git-archimport.perl
git-bisect.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-compat-util.h msvc: Add a definition of NORETURN compatible with msvc compiler 2010-01-22 16:35:42 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl cvsimport: standarize system() calls to external git tools 2010-01-19 12:22:19 -08:00
git-cvsserver.perl Merge branch 'pm/cvs-environ' 2010-01-10 08:52:37 -08:00
git-difftool--helper.sh Make difftool.prompt fall back to mergetool.prompt 2010-01-22 15:57:45 -08:00
git-difftool.perl difftool: Add '-x' and as an alias for '--extcmd' 2010-01-15 15:04:31 -08:00
git-filter-branch.sh Merge branch 'js/filter-branch-prime' 2010-01-07 15:40:30 -08:00
git-instaweb.sh Merge branch 'rs/work-around-grep-opt-insanity' into maint 2009-12-03 13:53:58 -08:00
git-lost-found.sh
git-merge-octopus.sh octopus: remove dead code 2009-12-13 23:40:24 -08:00
git-merge-one-file.sh Show usage string for 'git merge-one-file -h' 2009-11-10 11:06:57 -08:00
git-merge-resolve.sh
git-mergetool--lib.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-mergetool.sh
git-notes.sh
git-parse-remote.sh
git-pull.sh pull: re-fix command line generation 2010-01-24 10:11:27 -08:00
git-quiltimport.sh
git-rebase--interactive.sh rebase -i: Export GIT_AUTHOR_* variables explicitly 2010-01-23 21:39:11 -08:00
git-rebase.sh rebase: replace antiquated sed invocation 2010-01-25 09:43:45 -08:00
git-relink.perl
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'jc/1.7.0-send-email-no-thread-default' 2009-12-26 14:03:17 -08:00
git-sh-setup.sh Use $(git rev-parse --show-toplevel) in cd_to_toplevel(). 2010-01-11 19:47:52 -08:00
git-stash.sh stash: mention --patch in usage string. 2010-01-02 10:40:55 -08:00
git-submodule.sh git status: Show uncommitted submodule changes too when enabled 2010-01-17 15:55:11 -08:00
git-svn.perl git-svn: allow subset of branches/tags to be specified in glob spec 2010-01-23 03:23:04 -08:00
GIT-VERSION-GEN Git 1.6.6.1 2010-01-20 13:29:21 -08:00
git-web--browse.sh
git.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
git.spec.in
graph.c
graph.h Documentation: undocument gc'd function graph_release() 2009-11-19 23:05:17 -08:00
grep.c Threaded grep 2010-01-26 09:20:07 -08:00
grep.h Threaded grep 2010-01-26 09:20:07 -08:00
hash.c
hash.h
help.c help.autocorrect: do not run a command if the command given is junk 2009-12-15 16:21:51 -08:00
help.h
hex.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
http-backend.c Smart-http: check if repository is OK to export before serving it 2010-01-06 01:16:50 -08:00
http-fetch.c Let 'git http-fetch -h' show usage outside any git repository 2009-11-10 11:11:21 -08:00
http-push.c Disable CURLOPT_NOBODY before enabling CURLOPT_PUT and CURLOPT_POST 2009-11-22 22:56:54 -08:00
http-walker.c
http.c http.c: mark file-local functions static 2010-01-12 01:06:08 -08:00
http.h http.c: mark file-local functions static 2010-01-12 01:06:08 -08:00
ident.c ident.c: replace fprintf with fputs to suppress compiler warning 2010-01-19 15:25:38 -08:00
imap-send.c run-command: convert simple callsites to use_shell 2010-01-05 23:41:50 -08:00
INSTALL INSTALL: document a simpler way to run uninstalled builds 2009-12-03 11:38:21 -08:00
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
ll-merge.h Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
lockfile.c lockfile: show absolute filename in unable_to_lock_message 2010-01-12 15:48:24 -08:00
log-tree.c Fix "log" family not to be too agressive about showing notes 2010-01-20 19:57:02 -08:00
log-tree.h
mailmap.c mailmap.c: remove unused function 2010-01-12 01:06:09 -08:00
mailmap.h mailmap.c: remove unused function 2010-01-12 01:06:09 -08:00
Makefile Windows: Remove dependency on pthreadGC2.dll 2010-01-24 11:13:48 -08:00
match-trees.c Make "subtree" part more orthogonal to the rest of merge-recursive. 2010-01-17 22:46:28 -08:00
merge-file.c merge-tree: use ll_merge() not xdl_merge() 2010-01-16 23:45:33 -08:00
merge-recursive.c Merge branch 'maint' 2010-01-21 20:08:31 -08:00
merge-recursive.h Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
name-hash.c
notes.c Fix crasher on encountering SHA1-like non-note in notes tree 2009-12-03 10:10:35 -08:00
notes.h
object.c object.c: remove unused functions 2010-01-17 22:49:36 -08:00
object.h object.c: remove unused functions 2010-01-17 22:49:36 -08:00
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
pack.h make "index-pack" a built-in 2010-01-22 10:10:27 -08:00
pager.c run-command: convert simple callsites to use_shell 2010-01-05 23:41:50 -08:00
parse-options.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
parse-options.h Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c ignore duplicated slashes in make_relative_path() 2010-01-22 15:34:56 -08:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'jc/maint-limit-note-output' 2010-01-22 16:08:01 -08:00
progress.c
progress.h
quote.c quote.c: mark file-local function static 2010-01-12 01:06:08 -08:00
quote.h quote.c: mark file-local function static 2010-01-12 01:06:08 -08:00
reachable.c
reachable.h
read-cache.c Remove diff machinery dependency from read-cache 2010-01-21 17:05:13 -08:00
README
reflog-walk.c
reflog-walk.h
refs.c rev-parse --branches/--tags/--remotes=pattern 2010-01-20 12:30:25 -08:00
refs.h rev-parse --branches/--tags/--remotes=pattern 2010-01-20 12:30:25 -08:00
RelNotes Git 1.6.5.8 2010-01-20 12:44:59 -08:00
remote-curl.c Merge branch 'maint' 2010-01-21 20:08:31 -08:00
remote.c refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
remote.h refactor ref status logic for pushing 2010-01-09 23:34:10 -08:00
replace_object.c
rerere.c Merge branch 'jc/conflict-marker-size' 2010-01-20 20:28:51 -08:00
rerere.h Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
resolve-undo.c resolve-undo: "checkout -m path" uses resolve-undo information 2009-12-25 17:10:10 -08:00
resolve-undo.h resolve-undo: "checkout -m path" uses resolve-undo information 2009-12-25 17:10:10 -08:00
revision.c Merge branch 'il/rev-glob' 2010-01-22 16:08:16 -08:00
revision.h Fix "log" family not to be too agressive about showing notes 2010-01-20 19:57:02 -08:00
run-command.c Merge branch 'js/exec-error-report' 2010-01-20 14:44:12 -08:00
run-command.h run-command: add "use shell" option 2010-01-01 17:53:46 -08:00
send-pack.h Smart push over HTTP: client side 2009-11-04 17:58:15 -08:00
server-info.c
setup.c Merge branch 'bk/fix-relative-gitdir-file' 2010-01-20 14:38:34 -08:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sha1_name.c Merge branch 'js/refer-upstream' 2010-01-22 16:08:13 -08:00
shallow.c
shell.c
shortlog.h
show-index.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sideband.c Smart push over HTTP: client side 2009-11-04 17:58:15 -08:00
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'ap/merge-backend-opts' 2010-01-20 20:28:50 -08:00
strbuf.h Merge branch 'jc/maint-strbuf-add-fix-doubling' 2010-01-20 14:43:09 -08:00
string-list.c
string-list.h string-list: rename the include guard to STRING_LIST_H 2010-01-09 23:39:11 -08:00
submodule.c Merge branch 'jl/submodule-diff' 2010-01-22 16:08:10 -08:00
submodule.h Show submodules as modified when they contain a dirty work tree 2010-01-16 16:40:50 -08:00
symlinks.c symlinks.c: remove unused functions 2010-01-17 22:49:36 -08:00
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-match-trees.c
test-parse-options.c
test-path-utils.c
test-run-command.c start_command: detect execvp failures early 2010-01-10 10:15:03 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c Merge branch 'js/exec-error-report' 2010-01-20 14:44:12 -08:00
transport.c Merge branch 'il/push-set-upstream' 2010-01-20 14:40:48 -08:00
transport.h Merge branch 'il/push-set-upstream' 2010-01-20 14:40:48 -08:00
tree-diff.c Performance optimization for detection of modified submodules 2010-01-18 17:28:21 -08:00
tree-walk.c traverse_trees(): handle D/F conflict case sanely 2010-01-03 23:21:32 -08:00
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-trees.c Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
unpack-trees.h Merge branch 'jc/fix-tree-walk' 2010-01-24 17:35:58 -08:00
upload-pack.c Sync with 1.6.5.6 2009-12-10 16:20:59 -08:00
usage.c Fix truncated usage messages 2009-11-22 16:14:48 -08:00
userdiff.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
userdiff.h
utf8.c utf8.c: mark file-local function static 2010-01-12 01:06:09 -08:00
utf8.h utf8.c: mark file-local function static 2010-01-12 01:06:09 -08:00
walker.c
walker.h
wrap-for-bin.sh build dashless "bin-wrappers" directory similar to installed bindir 2009-12-03 11:37:47 -08:00
wrapper.c
write_or_die.c
ws.c git_attr(): fix function signature 2010-01-16 20:39:59 -08:00
wt-status.c Merge branch 'jl/submodule-diff' 2010-01-22 16:08:10 -08:00
wt-status.h status/commit: do not suggest "reset HEAD <path>" while merging 2009-12-12 01:22:10 -08:00
xdiff-interface.c
xdiff-interface.h

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

	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. 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.