No description
Find a file
Gennady Kupava 8eeb25c679 trace: improve performance while category is disabled
Move just enough code from trace.c into trace.h header so all code
necessary to determine that trace is disabled could be inlined to
calling functions.  Then perform the check if the trace key is
enabled sooner in call chain.

Signed-off-by: Gennady Kupava <gkupava@bloomberg.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-12-06 09:43:02 -08:00
.github
block-sha1
builtin Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
ci travis-ci: fix running P4 and Git LFS tests in Linux build jobs 2017-11-02 11:05:28 +09:00
compat Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
contrib Merge branch 'tz/fsf-address-update' into maint 2017-11-21 14:05:32 +09:00
Documentation Sync with maint 2017-11-21 14:11:40 +09:00
ewah Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
git-gui Merge branch 'tz/fsf-address-update' of ../git-gui into tz/fsf-address-update 2017-11-09 13:24:43 +09:00
gitk-git
gitweb Merge branch 'gc/gitweb-filetest-acl' 2017-11-06 14:24:30 +09:00
mergetools
perl Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse 2017-11-07 10:26:01 +09:00
po l10n: Update Catalan translation 2017-10-29 10:04:12 +08:00
ppc
refs Merge branch 'mh/tidy-ref-update-flags' 2017-11-15 12:14:29 +09:00
sha1collisiondetection@19d97bf5af
sha1dc
t Merge branch 'av/fsmonitor' 2017-11-21 14:07:51 +09:00
templates fsmonitor: simplify determining the git worktree under Windows 2017-11-13 10:02:20 +09:00
vcs-svn
xdiff Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
.clang-format clang-format: add a comment about the meaning/status of the 2017-10-02 13:17:48 +09:00
.gitattributes
.gitignore
.gitmodules
.mailmap mailmap: use Kaartic Sivaraam's new address 2017-11-03 23:00:07 +09:00
.travis.yml travis-ci: don't build Git for the static analysis job 2017-11-02 11:05:30 +09:00
.tsan-suppressions
abspath.c real_path: clarify return value ownership 2017-09-27 09:13:47 +09:00
aclocal.m4
advice.c run-command: add hint when a hook is ignored 2017-10-10 13:21:46 +09:00
advice.h run-command: add hint when a hook is ignored 2017-10-10 13:21:46 +09:00
alias.c
alloc.c
apply.c Merge branch 'rs/apply-fuzzy-match-fix' 2017-11-21 14:07:52 +09:00
apply.h apply: remove newfd from struct apply_state 2017-10-06 10:07:18 +09:00
archive-tar.c
archive-zip.c
archive.c refs: convert dwim_ref and expand_ref to struct object_id 2017-10-16 11:05:51 +09:00
archive.h
argv-array.c
argv-array.h
attr.c
attr.h
base85.c
bisect.c Merge branch 'mh/tidy-ref-update-flags' 2017-11-15 12:14:29 +09:00
bisect.h Merge branch 'ma/bisect-leakfix' 2017-11-15 12:14:28 +09:00
blame.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
blame.h
blob.c
blob.h
branch.c Merge branch 'nd/worktree-kill-parse-ref' into maint 2017-10-23 14:14:16 +09:00
branch.h
builtin.h
bulk-checkin.c distinguish error versus short read from read_in_full() 2017-09-27 15:45:24 +09:00
bulk-checkin.h
bundle.c refs: convert dwim_ref and expand_ref to struct object_id 2017-10-16 11:05:51 +09:00
bundle.h
cache-tree.c Merge branch 'ma/lockfile-fixes' 2017-11-06 13:11:21 +09:00
cache-tree.h
cache.h Merge branch 'av/fsmonitor' 2017-11-21 14:07:51 +09:00
check-builtins.sh
check-racy.c
check_bindir
color.c Merge branch 'jk/ref-filter-colors-fix' 2017-10-18 10:19:08 +09:00
color.h
column.c column: do not include pager.c 2017-10-24 10:19:06 +09:00
column.h
combine-diff.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
command-list.txt
commit-slab.h
commit.c reduce_heads: fix memory leaks 2017-11-08 11:34:00 +09:00
commit.h reduce_heads: fix memory leaks 2017-11-08 11:34:00 +09:00
common-main.c
config.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
config.h Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
config.mak.in
config.mak.uname packed_ref_cache: keep the packed-refs file mmapped if possible 2017-09-25 18:02:45 +09:00
configure.ac
connect.c
connect.h
connected.c Convert check_connected to use struct object_id 2017-10-16 11:05:50 +09:00
connected.h Convert check_connected to use struct object_id 2017-10-16 11:05:50 +09:00
convert.c Merge branch 'ma/ts-cleanups' into maint 2017-10-23 14:19:02 +09:00
convert.h
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c prefer "!=" when checking read_in_full() result 2017-09-27 15:45:24 +09:00
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta.h
diff-delta.c Merge branch 'mk/diff-delta-avoid-large-offset' 2017-09-28 14:47:56 +09:00
diff-lib.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
diff-no-index.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diff.c Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' into maint 2017-11-15 12:04:59 +09:00
diff.h Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diffcore-rename.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
diffcore.h
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
dir.h Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
editor.c
entry.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
environment.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'jk/write-in-full-fix' into maint 2017-10-23 14:37:22 +09:00
fetch-pack.c oidmap: map with OID as key 2017-10-01 17:18:03 +09:00
fetch-pack.h
fmt-merge-msg.h
fsck.c Merge branch 'rs/fsck-null-return-from-lookup' 2017-10-11 14:52:23 +09:00
fsck.h
fsmonitor.c fsmonitor: store fsmonitor bitmap before splitting index 2017-11-10 14:05:01 +09:00
fsmonitor.h fsmonitor: store fsmonitor bitmap before splitting index 2017-11-10 14:05:01 +09:00
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh Merge branch 'sb/bisect-run-empty' 2017-11-15 12:14:36 +09:00
git-compat-util.h Merge branch 'rj/no-sign-compare' 2017-09-29 11:23:42 +09:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh Merge branch 'dg/filter-branch-filter-order-doc' 2017-10-19 14:45:45 +09:00
git-instaweb.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-p4.py
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'ad/rebase-i-serie-typofix' into maint 2017-11-21 14:05:32 +09:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'bc/rev-parse-parseopt-fix' 2017-10-03 15:42:47 +09:00
git-remote-testgit.sh
git-request-pull.sh request-pull: capitalise "Git" to make it a proper noun 2017-10-03 13:11:57 +09:00
git-send-email.perl
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh stash: remove now superfluos help for "stash push" 2017-10-27 09:59:11 +09:00
git-submodule.sh submodule: port submodule subcommand 'status' from shell to C 2017-10-07 17:52:35 +09:00
git-svn.perl
GIT-VERSION-GEN Start preparation for 2.15.1 2017-11-15 12:05:22 +09:00
git-web--browse.sh
git.c Merge branch 'jk/no-optional-locks' 2017-10-03 15:42:49 +09:00
git.rc mingw: include the full version information in the resources 2017-11-01 13:43:52 +09:00
gpg-interface.c
gpg-interface.h
graph.c graph: use strbuf_addchars() to add spaces 2017-10-02 13:14:07 +09:00
graph.h
grep.c Merge branch 'ab/pcre-v2' into maint 2017-11-21 14:05:30 +09:00
grep.h Merge branch 'ab/pcre-v2' into maint 2017-11-21 14:05:30 +09:00
hash.h
hashmap.c
hashmap.h
help.c
help.h
hex.c notes: move hex_to_bytes() to hex.c and export it 2017-11-01 10:35:35 +09:00
http-backend.c Merge branch 'rs/resolve-ref-optional-result' 2017-09-28 14:47:56 +09:00
http-fetch.c
http-push.c http-push: use hex_to_bytes() 2017-11-01 10:35:39 +09:00
http-walker.c
http.c
http.h
ident.c
imap-send.c Merge branch 'tz/fsf-address-update' 2017-11-15 12:14:34 +09:00
INSTALL
iterator.h
khash.h
kwset.c Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
kwset.h Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c
line-log.h
line-range.c
line-range.h
list-objects.c
list-objects.h
list.h
ll-merge.c
ll-merge.h
lockfile.c
lockfile.h lockfile: fix documentation on close_lock_file_gently() 2017-10-06 10:07:17 +09:00
log-tree.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
log-tree.h
mailinfo.c Merge branch 'rs/mailinfo-qp-decode-fix' into maint 2017-10-18 14:19:03 +09:00
mailinfo.h
mailmap.c
mailmap.h
Makefile Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
match-trees.c
merge-blobs.c
merge-blobs.h
merge-recursive.c Merge branch 'ao/merge-verbosity-getenv-just-once' 2017-11-15 12:14:28 +09:00
merge-recursive.h
merge.c read-cache: leave lock in right state in write_locked_index() 2017-10-07 10:20:56 +09:00
mergesort.c
mergesort.h
mru.c
mru.h
name-hash.c
notes-cache.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
notes-cache.h
notes-merge.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
notes-merge.h
notes-utils.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
notes-utils.h
notes.c Merge branch 'rs/hex-to-bytes-cleanup' 2017-11-09 14:31:27 +09:00
notes.h
object.c object_array: add and use object_array_pop() 2017-09-24 10:06:04 +09:00
object.h object_array: add and use object_array_pop() 2017-09-24 10:06:04 +09:00
oidmap.c oidmap: map with OID as key 2017-10-01 17:18:03 +09:00
oidmap.h oidmap: map with OID as key 2017-10-01 17:18:03 +09:00
oidset.c oidmap: map with OID as key 2017-10-01 17:18:03 +09:00
oidset.h oidmap: map with OID as key 2017-10-01 17:18:03 +09:00
pack-bitmap-write.c pack-bitmap[-write]: use object_array_clear(), don't leak 2017-09-24 10:06:08 +09:00
pack-bitmap.c pack-bitmap: convert traverse_bitmap_commit_list to object_id 2017-10-16 11:05:51 +09:00
pack-bitmap.h pack-bitmap: convert traverse_bitmap_commit_list to object_id 2017-10-16 11:05:51 +09:00
pack-check.c
pack-objects.c
pack-objects.h
pack-revindex.c
pack-revindex.h
pack-write.c avoid looking at errno for short read_in_full() returns 2017-09-27 15:45:24 +09:00
pack.h
packfile.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
packfile.h
pager.c
parse-options-cb.c
parse-options.c parse-options: only insert newline in help text if needed 2017-09-25 14:35:53 +09:00
parse-options.h
patch-delta.c
patch-ids.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
patch-ids.h
path.c Merge branch 'ao/path-use-xmalloc' 2017-10-28 10:18:40 +09:00
path.h
pathspec.c Merge branch 'ex/deprecate-empty-pathspec-as-match-all' 2017-11-06 13:11:29 +09:00
pathspec.h
pkt-line.c Merge branch 'jk/write-in-full-fix' into maint 2017-10-23 14:37:22 +09:00
pkt-line.h
preload-index.c fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. 2017-10-01 17:23:01 +09:00
pretty.c pretty.c: delimit "%(trailers)" arguments with "," 2017-10-02 09:22:52 +09: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 'av/fsmonitor' 2017-11-21 14:07:51 +09:00
README.md
ref-filter.c Merge branch 'js/for-each-ref-remote-name-and-ref' 2017-11-15 12:14:32 +09:00
ref-filter.h
reflog-walk.c refs: convert dwim_log to struct object_id 2017-10-16 11:05:51 +09:00
reflog-walk.h
refs.c refs: update some more docs to use "oid" rather than "sha1" 2017-11-06 10:31:08 +09:00
refs.h refs: update some more docs to use "oid" rather than "sha1" 2017-11-06 10:31:08 +09:00
RelNotes Start preparation for 2.15.1 2017-11-15 12:05:22 +09:00
remote-curl.c
remote-testsvn.c refs: convert read_ref and read_ref_full to object_id 2017-10-16 11:05:50 +09:00
remote.c Merge branch 'js/for-each-ref-remote-name-and-ref' 2017-11-15 12:14:32 +09:00
remote.h for-each-ref: let upstream/push report the remote ref name 2017-11-08 10:18:23 +09:00
replace_object.c
repository.c repository: use FREE_AND_NULL 2017-10-02 13:15:59 +09:00
repository.h
rerere.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'bw/diff-opt-impl-to-bitfields' 2017-11-09 14:31:27 +09:00
revision.h Merge branch 'ma/leakplugs' 2017-09-29 11:23:43 +09:00
run-command.c run-command: add hint when a hook is ignored 2017-10-10 13:21:46 +09:00
run-command.h
send-pack.c
send-pack.h
sequencer.c Merge branch 'rs/sequencer-rewrite-file-cleanup' into maint 2017-11-21 14:05:33 +09:00
sequencer.h
server-info.c
setup.c Merge branch 'js/early-config' into maint 2017-11-15 12:05:01 +09:00
sh-i18n--envsubst.c Replace Free Software Foundation address in license notices 2017-11-09 13:21:21 +09:00
sha1-array.c
sha1-array.h
sha1-lookup.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
sha1-lookup.h
sha1_file.c Merge branch 'jk/info-alternates-fix' into maint 2017-11-21 14:05:31 +09:00
sha1_name.c Merge branch 'jc/check-ref-format-oor' into maint 2017-11-15 12:04:57 +09:00
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'ma/leakplugs' 2017-09-29 11:23:43 +09:00
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c
split-index.h
strbuf.c Merge branch 'rs/strbuf-getwholeline-fix' into maint 2017-10-18 14:18:58 +09:00
strbuf.h Merge branch 'ma/ts-cleanups' into maint 2017-10-23 14:19:02 +09:00
streaming.c Merge branch 'jk/write-in-full-fix' 2017-09-25 15:24:06 +09:00
streaming.h
string-list.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
string-list.h string-list.h: move documentation from Documentation/api/ into header 2017-09-27 09:14:34 +09:00
sub-process.c Merge branch 'cc/subprocess-handshake-missing-capabilities' into maint 2017-10-18 14:19:10 +09:00
sub-process.h
submodule-config.c
submodule-config.h implement fetching of moved submodules 2017-10-17 10:27:18 +09:00
submodule.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
submodule.h Merge branch 'hn/typofix' 2017-09-28 14:47:52 +09:00
symlinks.c
tag.c Merge branch 'rs/tag-null-pointer-arith-fix' 2017-10-05 13:48:20 +09:00
tag.h
tar.h
tempfile.c
tempfile.h tempfile: fix documentation on delete_tempfile() 2017-10-06 10:07:18 +09:00
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c trace: improve performance while category is disabled 2017-12-06 09:43:02 -08:00
trace.h trace: improve performance while category is disabled 2017-12-06 09:43:02 -08:00
trailer.c
trailer.h
transport-helper.c Merge branch 'jk/write-in-full-fix' into maint 2017-10-23 14:37:22 +09:00
transport.c refs: convert update_ref and refs_update_ref to use struct object_id 2017-10-16 11:05:50 +09:00
transport.h
tree-diff.c diff: make struct diff_flags members lowercase 2017-11-01 11:51:40 +09:00
tree-walk.c Merge branch 'rj/no-sign-compare' 2017-09-29 11:23:42 +09:00
tree-walk.h
tree.c
tree.h
unicode_width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Merge branch 'bp/fsmonitor' 2017-11-21 14:07:50 +09:00
unpack-trees.h
upload-pack.c refs: convert peel_ref to struct object_id 2017-10-16 11:05:51 +09:00
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c Merge branch 'ik/userdiff-html-h-element-fix' into maint 2017-10-18 14:19:02 +09:00
userdiff.h
utf8.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c refs: update ref transactions to use struct object_id 2017-10-16 11:05:50 +09:00
walker.h
wildmatch.c
wildmatch.h
worktree.c Merge branch 'bc/object-id' 2017-11-06 14:24:27 +09:00
worktree.h worktree: convert struct worktree to object_id 2017-10-16 11:05:51 +09:00
wrap-for-bin.sh
wrapper.c wrapper.c: consistently quote filenames in error messages 2017-11-06 11:53:14 +09:00
write_or_die.c
ws.c
wt-status.c Merge branch 'bw/rebase-i-ignored-submodule-fix' into maint 2017-11-21 14:05:29 +09:00
wt-status.h status: add option to show ignored files differently 2017-10-31 11:54:21 +09:00
xdiff-interface.c xdiff-interface: export comparing and hashing strings 2017-10-26 11:23:22 +09:00
xdiff-interface.h xdiff-interface: export comparing and hashing strings 2017-10-26 11:23:22 +09:00
zlib.c

Git - fast, scalable, distributed revision control system

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.

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

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-.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).

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 https://public-inbox.org/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.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (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