Go to file
Junio C Hamano 8061ae8b46 Merge branch 'jk/commit-buffer-length'
Move "commit->buffer" out of the in-core commit object and keep
track of their lengths.  Use this to optimize the code paths to
validate GPG signatures in commit objects.

* jk/commit-buffer-length:
  reuse cached commit buffer when parsing signatures
  commit: record buffer length in cache
  commit: convert commit->buffer to a slab
  commit-slab: provide a static initializer
  use get_commit_buffer everywhere
  convert logmsg_reencode to get_commit_buffer
  use get_commit_buffer to avoid duplicate code
  use get_cached_commit_buffer where appropriate
  provide helpers to access the commit buffer
  provide a helper to set the commit buffer
  provide a helper to free commit buffer
  sequencer: use logmsg_reencode in get_message
  logmsg_reencode: return const buffer
  do not create "struct commit" with xcalloc
  commit: push commit_index update into alloc_commit_node
  alloc: include any-object allocations in alloc_report
  replace dangerous uses of strbuf_attach
  commit_tree: take a pointer/len pair rather than a const strbuf
2014-07-02 12:53:02 -07:00
Documentation Sync with maint 2014-06-25 12:32:58 -07:00
block-sha1
builtin Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
compat Merge branch 'ym/fix-opportunistic-index-update-race' into maint 2014-06-25 11:49:48 -07:00
contrib Merge branch 'ep/avoid-test-a-o' 2014-06-25 12:23:56 -07: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 git://repo.or.cz/git-gui 2014-06-26 13:44:11 -07:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2014-06-27 11:23:03 -07:00
gitweb Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
mergetools mergetools: add vimdiff3 mode 2014-04-22 12:49:07 -07:00
perl Merge branch 'mm/pager-less-sans-S' 2014-06-06 11:02:59 -07:00
po fr: a lot of good fixups 2014-05-17 19:08:59 +02:00
ppc
t Merge branch 'maint' 2014-07-02 12:52:46 -07:00
templates
vcs-svn
xdiff
.gitattributes
.gitignore Merge branch 'tb/unicode-6.3-zero-width' 2014-06-06 11:29:38 -07:00
.mailmap
COPYING
GIT-VERSION-GEN Git 2.0.1 2014-06-25 12:21:11 -07:00
INSTALL
LGPL-2.1
Makefile Merge branch 'nd/index-pack-one-fd-per-thread' into maint 2014-06-25 11:47:58 -07:00
README
RelNotes Git 2.0.1 2014-06-25 12:21:11 -07:00
abspath.c
aclocal.m4
advice.c Merge branch 'jk/error-resolve-conflict-advice' 2014-06-16 12:18:47 -07:00
advice.h
alias.c
alloc.c commit: push commit_index update into alloc_commit_node 2014-06-12 10:29:42 -07:00
archive-tar.c
archive-zip.c
archive.c Merge branch 'rm/strchrnul-not-strlen' 2014-03-18 13:51:18 -07:00
archive.h
argv-array.c argv-array: drop "detach" code 2014-05-15 09:49:12 -07:00
argv-array.h argv-array: drop "detach" code 2014-05-15 09:49:12 -07:00
attr.c
attr.h
base85.c
bisect.c Merge branch 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
bisect.h
blob.c
blob.h
branch.c Merge branch 'an/branch-config-message' 2014-03-31 16:31:20 -07:00
branch.h
builtin.h
bulk-checkin.c
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
cache.h Merge branch 'ym/fix-opportunistic-index-update-race' into maint 2014-06-25 11:49:48 -07:00
check-builtins.sh check-builtins.sh: use the $(...) construct for command substitution 2014-03-25 13:42:52 -07:00
check-racy.c
check_bindir check_bindir: avoid "test <cond> -a/-o <cond>" 2014-06-09 14:47:06 -07:00
color.c
color.h
column.c run_column_filter: use argv_array 2014-05-15 09:49:10 -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
commit-slab.h commit-slab: provide a static initializer 2014-06-13 12:08:17 -07:00
commit.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
commit.h reuse cached commit buffer when parsing signatures 2014-06-13 12:10:13 -07:00
config.c Merge branch 'ow/config-mailmap-pathname' into maint 2014-06-25 11:45:55 -07:00
config.mak.in
config.mak.uname Merge branch 'nd/index-pack-one-fd-per-thread' into maint 2014-06-25 11:47:58 -07:00
configure.ac Merge branch 'ks/tree-diff-nway' 2014-06-03 12:06:40 -07:00
connect.c git_connect: use argv_array 2014-05-15 09:49:10 -07:00
connect.h
connected.c
connected.h
convert.c
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/daemon-tolower' 2014-06-16 10:07:15 -07:00
date.c i18n: fix uncatchable comments for translators in date.c 2014-04-17 11:03:28 -07:00
decorate.c
decorate.h
delta.h comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
diff-delta.c
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 'jk/diff-follow-must-take-one-pathspec' into maint 2014-06-25 11:47:23 -07:00
diff.h Merge branch 'ks/tree-diff-nway' 2014-06-03 12:06:40 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: simplify kwset loop in contains() 2014-03-24 15:13:17 -07:00
diffcore-rename.c
diffcore.h Merge branch 'nd/diff-quiet-stat-dirty' into maint 2014-03-18 13:59:56 -07:00
dir.c cleanup duplicate name_compare() functions 2014-06-20 10:12:14 -07:00
dir.h
editor.c
entry.c Merge branch 'mh/remove-subtree-long-pathname-fix' into maint 2014-04-03 13:39:05 -07:00
environment.c Merge branch 'sh/enable-preloadindex' 2014-06-16 12:18:49 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c fast-import: add support to delete refs 2014-04-21 11:47:34 -07:00
fetch-pack.c Use starts_with() for C strings instead of memcmp() 2014-06-09 14:38:12 -07:00
fetch-pack.h
fmt-merge-msg.h
fsck.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
fsck.h
generate-cmdlist.sh
gettext.c
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-bisect.sh git-bisect.sh: avoid "test <cond> -a/-o <cond>" 2014-06-09 14:47:07 -07: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-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh
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
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh git-mergetool.sh: avoid "test <cond> -a/-o <cond>" 2014-06-09 14:47:07 -07:00
git-p4.py git-p4: fix submit in non --prepare-p4-only mode 2014-06-13 11:04:04 -07:00
git-parse-remote.sh
git-pull.sh Sync with maint 2014-06-12 12:22:38 -07:00
git-quiltimport.sh
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 'ep/avoid-test-a-o' 2014-06-25 12:23:56 -07:00
git-rebase--merge.sh Merge branch 'ep/shell-command-substitution' 2014-06-03 12:06:45 -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-remote-testgit.sh Merge branch 'ep/shell-assign-and-export-vars' 2014-06-06 11:38:51 -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 'mt/send-email-cover-to-cc' 2014-06-20 13:12:20 -07:00
git-sh-i18n.sh
git-sh-setup.sh pager: remove 'S' from $LESS by default 2014-05-07 13:41:04 -07:00
git-stash.sh Merge branch 'ep/shell-assign-and-export-vars' 2014-06-06 11:38:51 -07:00
git-submodule.sh git-submodule.sh: avoid "echo" path-like values 2014-06-19 13:30:03 -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-web--browse.sh git-web--browse.sh: use the $( ... ) construct for command substitution 2014-04-23 15:17:02 -07:00
git.c Merge branch 'nd/init-restore-env' 2014-06-25 12:22:00 -07:00
git.rc
git.spec.in
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c Merge branch 'as/grep-fullname-config' 2014-06-03 12:06:39 -07:00
grep.h
hashmap.c
hashmap.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c http-push.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
http-walker.c
http.c http: default text charset to iso-8859-1 2014-05-27 09:59:22 -07:00
http.h http: optionally extract charset parameter from content-type 2014-05-27 09:59:19 -07:00
ident.c
imap-send.c Merge branch 'bg/xcalloc-nmemb-then-size' 2014-06-16 12:17:50 -07:00
khash.h
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c
line-log.h
line-range.c
line-range.h
list-objects.c Merge branch 'jk/pack-bitmap' 2014-04-08 12:00:33 -07:00
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c reuse cached commit buffer when parsing signatures 2014-06-13 12:10:13 -07:00
log-tree.h
mailmap.c
mailmap.h
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
name-hash.c name-hash.c: replace cache_name_compare() with memcmp(3) 2014-06-20 10:08:10 -07:00
notes-cache.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -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
notes-utils.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -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
object.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
object.h Merge branch 'nd/log-show-linear-break' 2014-04-03 12:38:11 -07:00
pack-bitmap-write.c
pack-bitmap.c add `ignore_missing_links` mode to revwalk 2014-04-04 13:31:38 -07:00
pack-bitmap.h
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-revindex.c pack-revindex.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
pack-revindex.h
pack-write.c
pack.h
pager.c Merge branch 'je/pager-do-not-recurse' 2014-06-06 11:17:00 -07:00
parse-options-cb.c
parse-options.c Merge branch 'mr/opt-set-ptr' 2014-04-08 12:00:17 -07:00
parse-options.h Merge branch 'jk/squelch-compiler-warning-from-funny-error-macro' 2014-06-06 11:21:36 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Windows: allow using UNC path for git repository 2014-06-10 13:30:04 -07:00
pathspec.c
pathspec.h
pkt-line.c
pkt-line.h comments: fix misuses of "nor" 2014-03-31 15:29:27 -07:00
preload-index.c
pretty.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Merge branch 'ym/fix-opportunistic-index-update-race' into maint 2014-06-25 11:49:48 -07:00
reflog-walk.c reflog-walk.c: rearrange xcalloc arguments 2014-05-27 14:02:45 -07:00
reflog-walk.h
refs.c Merge branch 'dt/refs-check-refname-component-optim' 2014-06-16 12:18:52 -07:00
refs.h Merge branch 'jl/remote-rm-prune' 2014-06-16 12:17:58 -07:00
remote-curl.c remote-curl: reencode http error messages 2014-05-27 09:59:22 -07:00
remote-testsvn.c
remote.c Merge branch 'rs/more-starts-with' 2014-06-20 13:12:14 -07:00
remote.h
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
revision.h Merge branch 'jk/pack-bitmap' 2014-04-08 12:00:33 -07:00
run-command.c run-command: store an optional argv_array 2014-05-15 09:49:09 -07:00
run-command.h run-command: store an optional argv_array 2014-05-15 09:49:09 -07:00
send-pack.c
send-pack.h
sequencer.c Merge branch 'jk/commit-buffer-length' 2014-07-02 12:53:02 -07:00
sequencer.h
server-info.c
setup.c Merge branch 'mw/symlinks' into maint 2014-05-28 15:45:57 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'jk/report-fail-to-read-objects-better' into maint 2014-06-25 11:43:58 -07:00
sha1_name.c commit: record buffer length in cache 2014-06-13 12:09:38 -07:00
shallow.c
shell.c
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
sigchain.c
sigchain.h
strbuf.c Merge branch 'jk/http-errors' 2014-06-16 12:18:36 -07:00
strbuf.h Merge branch 'jk/http-errors' 2014-06-16 12:18:36 -07:00
streaming.c
streaming.h
string-list.c
string-list.h string-list: spell all values out that are given to a string_list initializer 2014-06-06 13:49:19 -07:00
submodule.c
submodule.h
symlinks.c
tag.c
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
test-dump-cache-tree.c
test-genrandom.c
test-hashmap.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mergesort.c
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
test-prio-queue.c
test-read-cache.c
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-subprocess.c
test-svn-fe.c
test-urlmatch-normalization.c
test-wildmatch.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c Merge branch 'fc/remote-helper-refmap' 2014-06-16 12:18:15 -07:00
transport.c
transport.h
tree-diff.c tree-diff: rework diff_tree() to generate diffs for multiparent cases as well 2014-04-07 14:40:46 -07:00
tree-walk.c cleanup duplicate name_compare() functions 2014-06-20 10:12:14 -07:00
tree-walk.h
tree.c
tree.h
unicode_width.h Update of unicode_width.h to Unicode Version 7.0 2014-06-18 10:53:45 -07:00
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c cleanup duplicate name_compare() functions 2014-06-20 10:12:14 -07:00
unpack-trees.h
update_unicode.sh utf8: make it easier to auto-update git_wcwidth() 2014-05-12 10:38:01 -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.h
usage.c
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 'tb/unicode-6.3-zero-width' 2014-06-06 11:29:38 -07:00
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c object.h: centralize object flag allocation 2014-03-25 15:09:24 -07:00
walker.h
wildmatch.c
wildmatch.h
wrap-for-bin.sh
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
ws.c
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

README

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

	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.