Go to file
Nguyễn Thái Ngọc Duy 39539495ac index-pack: work around thread-unsafe pread()
Multi-threaing of index-pack was disabled with c0f8654
(index-pack: Disable threading on cygwin - 2012-06-26), because
pread() implementations for Cygwin and MSYS were not thread
safe.  Recent Cygwin does offer usable pread() and we enabled
multi-threading with 103d530f (Cygwin 1.7 has thread-safe pread,
2013-07-19).

Work around this problem on platforms with a thread-unsafe
pread() emulation by opening one file handle per thread; it
would prevent parallel pread() on different file handles from
stepping on each other.

Also remove NO_THREAD_SAFE_PREAD that was introduced in c0f8654
because it's no longer used anywhere.

This workaround is unconditional, even for platforms with
thread-safe pread() because the overhead is small (a couple file
handles more) and not worth fragmenting the code.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Tested-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-04-16 09:29:41 -07:00
block-sha1 block-sha1/sha1.c: have SP around arithmetic operators 2013-10-16 10:27:27 -07:00
builtin index-pack: work around thread-unsafe pread() 2014-04-16 09:29:41 -07:00
compat Merge branch 'ef/mingw-write' 2014-01-27 10:44:59 -08:00
contrib Merge branch 'jk/complete-merge-base' 2014-01-27 10:43:55 -08:00
Documentation Git 1.9.0 2014-02-14 11:35:04 -08:00
git-gui git-gui 0.19.0 2014-01-21 13:16:17 -08:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2014-01-23 08:50:50 -08:00
gitweb gitweb: Denote non-heads, non-remotes branches 2013-12-12 12:37:37 -08:00
mergetools mergetools/diffmerge: support DiffMerge as a git mergetool 2013-10-13 16:00:57 -07:00
perl git-svn: memoize _rev_list and rebuild 2014-01-23 02:54:26 +00:00
po l10n: de.po: correct message when hiding commits by craft 2014-02-12 07:16:03 +01:00
ppc
t Merge branch 'bm/merge-base-octopus-dedup' into maint 2014-02-13 13:38:59 -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 'jk/remove-deprecated' 2013-12-12 14:18:34 -08:00
.mailmap .mailmap: switch to Thomas Rast's personal address 2013-10-13 14:28:27 -07:00
abspath.c Merge branch 'ap/path-max' 2014-01-10 10:32:18 -08:00
aclocal.m4
advice.c Rename advice.object_name_warning to objectNameWarning 2013-07-31 15:20:07 -07:00
advice.h Merge branch 'jk/gcc-function-attributes' 2013-07-22 11:23:59 -07:00
alias.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
alloc.c alloc.c: have SP around arithmetic operators 2013-10-16 10:27:26 -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 archive.c: have SP around arithmetic operators 2013-10-16 10:27:26 -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 replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
attr.h
base85.c base85.c: have SP around arithmetic operators 2013-10-16 10:27:26 -07:00
bisect.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
bisect.h Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
blob.c
blob.h
branch.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08: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 stream_to_pack: xread does not guarantee to read all requested bytes 2013-08-20 11:20:53 -07:00
bulk-checkin.h
bundle.c bundle: use argv-array 2013-11-12 13:32:11 -08:00
bundle.h
cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache-tree.h Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache.h Merge branch 'mh/safe-create-leading-directories' 2014-01-27 10:45:33 -08:00
check_bindir
check-builtins.sh
check-racy.c
color.c make color.ui default to 'auto' 2013-06-10 10:55:42 -07:00
color.h
column.c
column.h
combine-diff.c Merge branch 'tr/log-full-diff-keep-true-parents' into maint 2013-09-18 11:59:05 -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: sizeof() the right type in xrealloc 2013-12-02 12:46:01 -08:00
commit.c Merge branch 'vm/octopus-merge-bases-simplify' 2014-01-10 10:33:45 -08:00
commit.h Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
config.c Merge branch 'cc/starts-n-ends-with' 2013-12-17 12:02:44 -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 index-pack: work around thread-unsafe pread() 2014-04-16 09:29:41 -07:00
configure.ac configure: fix option help message for --disable-pthreads 2013-06-28 10:49:26 -07:00
connect.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08: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: convert "url" attribute into its parsed subparts 2012-07-18 13:26:58 -07:00
credential.h git credential fill: output the whole 'struct credential' 2012-06-25 11:56:24 -07:00
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 Merge branch 'nd/daemon-informative-errors-typofix' 2014-01-10 10:32:59 -08:00
date.c Merge branch 'jk/date-c-double-semicolon' 2013-10-30 12:11:01 -07:00
decorate.c decorate.c: compact table when growing 2013-05-16 11:51:08 -07:00
decorate.h
delta.h
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 'jl/submodule-mv' 2013-09-09 14:36:15 -07:00
diff-no-index.c diff: move no-index detection to builtin/diff.c 2013-12-12 12:23:02 -08:00
diff.c Merge branch 'jk/diff-filespec-cleanup' 2014-01-27 10:45:03 -08:00
diff.h Merge branch 'tg/diff-no-index-refactor' 2013-12-27 14:58:17 -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 'sb/diff-orderfile-config' 2014-01-10 10:32:42 -08:00
diffcore-pickaxe.c Merge branch 'rs/pickaxe-simplify' 2013-07-12 12:04:17 -07:00
diffcore-rename.c Preallocate hash tables when the number of inserts are known in advance 2013-03-16 22:57:29 -07:00
diffcore.h diff_filespec: use only 2 bits for is_binary flag 2014-01-17 10:50:14 -08:00
dir.c Merge branch 'mh/safe-create-leading-directories' 2014-01-27 10:45:33 -08:00
dir.h Merge branch 'jc/ls-files-killed-optim' 2013-09-11 15:03:28 -07:00
editor.c editor: use canonicalized absolute path 2013-07-29 12:15:27 -07:00
entry.c checkout_entry(): clarify the use of topath[] parameter 2013-10-24 14:59:39 -07:00
environment.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -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 replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
fetch-pack.c Merge branch 'jk/allow-fetch-onelevel-refname' into maint 2014-02-13 13:38:34 -08:00
fetch-pack.h Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
fmt-merge-msg.h
fsck.c fsck: warn about ".git" in trees 2012-11-28 13:52: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 Merge branch 'nd/fetch-status-alignment' 2012-09-18 14:35:55 -07:00
git-add--interactive.perl add-interactive: handle unborn branch in patch mode 2013-10-25 14:54:17 -07:00
git-am.sh Merge branch 'jk/replace-perl-in-built-scripts' 2013-12-05 12:58:21 -08:00
git-archimport.perl git-archimport: use a lowercase "usage:" string 2013-02-24 13:31:06 -08:00
git-bisect.sh typofixes: fix misspelt comments 2013-11-12 09:24:27 -08:00
git-compat-util.h Merge branch 'bs/mirbsd' 2014-01-10 10:33:14 -08: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 --dir-diff: allow changing any clean working tree file 2013-05-29 12:50:08 -07:00
git-filter-branch.sh Merge branch 'lc/filter-branch-too-many-refs' 2013-10-17 15:55:12 -07:00
git-instaweb.sh use @@PERL@@ in built scripts 2013-10-29 12:41:17 -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 git p4: fix an error message when "p4 where" fails 2014-01-22 08:06:19 -08:00
git-parse-remote.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-pull.sh Merge branch 'jk/pull-rebase-using-fork-point' 2014-01-17 12:04:29 -08:00
git-quiltimport.sh Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00
git-rebase--am.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-rebase--interactive.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-rebase--merge.sh remove #!interpreter line from shell libraries 2013-11-26 14:23:56 -08:00
git-rebase.sh rebase: fix fork-point with zero arguments 2014-01-09 15:05:26 -08:00
git-relink.perl git-relink: use a lowercase "usage:" string 2013-02-24 13:31:06 -08:00
git-remote-testgit.sh transport-helper: add no-private-update capability 2013-09-03 11:57:53 -07:00
git-request-pull.sh Merge branch 'jk/replace-perl-in-built-scripts' 2013-12-05 12:58:21 -08: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 Merge branch 'jn/pager-lv-default-env' 2014-01-13 11:33:35 -08:00
git-stash.sh stash: handle specifying stashes with $IFS 2014-01-07 10:51:04 -08:00
git-submodule.sh Merge branch 'fp/submodule-checkout-mode' 2014-01-17 12:21:20 -08:00
git-svn.perl git-svn: Warn about changing default for --prefix in Git v2.0 2013-10-12 22:30:53 +00:00
GIT-VERSION-GEN Git 1.9.0 2014-02-14 11:35:04 -08:00
git-web--browse.sh web--browse: Add support for xdg-open 2013-10-30 13:54:15 -07:00
git.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -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 grep: allow to use textconv filters 2013-05-10 10:27:31 -07:00
grep.h grep: allow to use textconv filters 2013-05-10 10:27:31 -07:00
hash.c
hash.h Preallocate hash tables when the number of inserts are known in advance 2013-03-16 22:57:29 -07:00
help.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
help.h help: add help_unknown_ref() 2013-05-08 15:31:54 -07:00
hex.c
http-backend.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
http-fetch.c
http-push.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
http-walker.c Rename static function fetch_pack() to http_fetch_pack() 2012-09-12 11:46:31 -07:00
http.c Merge branch 'cc/starts-n-ends-with' 2013-12-17 12:02:44 -08:00
http.h Merge branch 'bc/http-100-continue' 2013-12-05 12:58:59 -08:00
ident.c Merge branch 'jk/split-broken-ident' into maint 2013-11-07 14:34:51 -08:00
imap-send.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
INSTALL Typo fix: replacing it's -> its 2013-04-11 17:39:05 -07: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 Merge branch 'nd/magic-pathspec' 2013-10-30 12:10:33 -07: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/mark-edges-uninteresting' 2014-01-27 10:45:08 -08: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 'bc/log-decoration' 2014-01-10 10:32:39 -08: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 index-pack: work around thread-unsafe pread() 2014-04-16 09:29:41 -07:00
match-trees.c match-trees: factor out fill_tree_desc_strict 2013-06-13 14:45:38 -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 'mh/safe-create-leading-directories' 2014-01-27 10:45:33 -08: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: stop storing trailing '/' on paths in index_state.dir_hash 2013-09-17 10:08:07 -07:00
notes-cache.c
notes-cache.h
notes-merge.c remove diff_tree_{setup,release}_paths 2013-07-15 10:56:09 -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 Merge branch 'cc/starts-n-ends-with' 2013-12-17 12:02:44 -08:00
notes-utils.h typofix: commit is spelled with two ems 2013-09-04 15:30:03 -07:00
notes.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
notes.h many small typofixes 2013-07-29 12:32:25 -07:00
object.c Merge branch 'mg/more-textconv' 2013-10-23 13:21:31 -07:00
object.h Merge branch 'mg/more-textconv' 2013-10-23 13:21:31 -07:00
pack-check.c
pack-revindex.c pack-revindex: radix-sort the revindex 2013-07-12 09:20:54 -07:00
pack-revindex.h
pack-write.c Merge branch 'jk/sha1write-void' 2014-01-10 10:33:09 -08:00
pack.h pack-objects: name pack files after trailer hash 2013-12-05 15:40:11 -08:00
pager.c Merge branch 'jn/pager-lv-default-env' 2014-01-13 11:33:35 -08:00
parse-options-cb.c prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
parse-options.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
parse-options.h parse-options: remove OPT_BOOLEAN 2013-12-09 11:24:16 -08:00
patch-delta.c
patch-ids.c diff_setup_done(): return void 2012-08-03 12:11:07 -07:00
patch-ids.h
path.c Merge branch 'jx/relative-path-regression-fix' 2013-10-28 10:42:30 -07:00
pathspec.c Merge branch 'nd/negative-pathspec' 2014-01-10 10:31:48 -08: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 pkt-line: share buffer/descriptor reading implementation 2013-02-24 00:14:15 -08:00
preload-index.c convert read_cache_preload() to take struct pathspec 2013-07-15 10:56:08 -07:00
pretty.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08: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 strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07: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 Merge branch 'es/name-hash-no-trailing-slash-in-dirs' 2013-10-17 15:55:16 -07:00
README Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'mh/safe-create-leading-directories' 2014-01-27 10:45:33 -08:00
refs.h Merge branch 'sb/refs-code-cleanup' 2013-11-01 07:38:58 -07:00
RelNotes Git 1.9.0 2014-02-14 11:35:04 -08:00
remote-curl.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
remote-testsvn.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
remote.c Merge branch 'mh/retire-ref-fetch-rules' 2014-01-27 10:44:07 -08:00
remote.h Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08:00
replace_object.c replace_object: don't check read_replace_refs twice 2013-12-12 11:53:48 -08:00
rerere.c Merge branch 'jl/submodule-mv' 2013-09-09 14:36:15 -07:00
rerere.h rerere: convert to use parse_pathspec 2013-07-15 10:56:07 -07:00
resolve-undo.c Merge branch 'jl/submodule-mv' 2013-09-09 14:36:15 -07:00
resolve-undo.h convert unmerge_cache to take struct pathspec 2013-07-15 10:56:08 -07:00
revision.c Merge branch 'jc/revision-range-unpeel' into maint 2014-02-13 13:38:47 -08:00
revision.h Merge branch 'jc/ref-excludes' 2013-12-05 12:59:09 -08:00
run-command.c run-command: trivial style fixes 2013-10-31 13:48:26 -07:00
run-command.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -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 replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
sequencer.h sequencer.c: teach append_signoff how to detect duplicate s-o-b 2013-02-12 11:17:10 -08:00
server-info.c
setup.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
sh-i18n--envsubst.c
sha1_file.c Merge branch 'ss/safe-create-leading-dir-with-slash' 2014-01-27 10:45:37 -08:00
sha1_name.c Merge branch 'jk/interpret-branch-name-fix' 2014-01-27 10:44:21 -08:00
sha1-array.c sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
sha1-array.h sha1-array.c: mark a private file-scope symbol as static 2012-09-15 22:58:21 -07:00
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 Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -08: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 pkt-line: share buffer/descriptor reading implementation 2013-02-24 00:14:15 -08: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: introduce starts_with() and ends_with() 2013-12-05 14:12:52 -08:00
strbuf.h strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
streaming.c Merge branch 'ef/mingw-write' 2014-01-27 10:44:59 -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 replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -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 symlinks.c: mark private file-scope symbols as static 2012-09-15 22:58:21 -07:00
tag.c replace {pre,suf}fixcmp() with {starts,ends}_with() 2013-12-05 14:13:21 -08:00
tag.h
tar.h
test-chmtime.c Merge branch 'js/test-ln-s-add' 2013-06-20 16:02:18 -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-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 sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -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-regex: Add a test to check for a bug in the regex routines 2012-09-02 18:57:21 -07:00
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 Makefile: add USE_WILDMATCH to use wildmatch as fnmatch 2013-01-01 15:32:37 -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 Merge branch 'ef/mingw-write' 2014-01-27 10:44:59 -08:00
transport.c Merge branch 'nd/shallow-clone' 2014-01-17 12:21:20 -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 pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses 2013-10-28 09:57:36 -07:00
tree-walk.c Merge branch 'as/tree-walk-fix-aggressive-short-cut' into maint 2014-02-13 13:37:53 -08:00
tree-walk.h unpack-trees: don't shift conflicts left and right 2013-06-17 09:24:47 -07:00
tree.c Merge branch 'jk/free-tree-buffer' 2013-09-17 11:37: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 Merge branch 'jk/two-way-merge-corner-case-fix' into maint 2013-12-17 11:32:17 -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/shallow-clone' 2014-01-17 12:21:20 -08: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: update Ada patterns 2014-02-05 10:45:51 -08:00
userdiff.h
utf8.c pretty: Fix bug in truncation support for %>, %< and %>< 2013-04-28 12:09:37 -07:00
utf8.h add missing "format" function attributes 2013-07-09 22:23:04 -07:00
varint.c
varint.h
version.c include agent identifier in capability string 2012-08-03 13:03:34 -07:00
version.h include agent identifier in capability string 2012-08-03 13:03:34 -07:00
walker.c clear parsed flag when we free tree buffers 2013-06-06 10:29:12 -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 typofixes: fix misspelt comments 2013-11-12 09:24:27 -08:00
write_or_die.c write_or_die: raise SIGPIPE when we get EPIPE 2013-02-20 13:42:21 -08:00
ws.c
wt-status.c Merge branch 'cc/starts-n-ends-with' 2013-12-17 12:02:44 -08:00
wt-status.h commit -v: strip diffs and submodule shortlogs from the commit message 2013-12-05 14:39:11 -08: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.