A fork of Git containing Microsoft-specific patches.
Перейти к файлу
Vicent Marti e1273106f6 ewah: compressed bitmap implementation
EWAH is a word-aligned compressed variant of a bitset (i.e. a data
structure that acts as a 0-indexed boolean array for many entries).

It uses a 64-bit run-length encoding (RLE) compression scheme,
trading some compression for better processing speed.

The goal of this word-aligned implementation is not to achieve
the best compression, but rather to improve query processing time.
As it stands right now, this EWAH implementation will always be more
efficient storage-wise than its uncompressed alternative.

EWAH arrays will be used as the on-disk format to store reachability
bitmaps for all objects in a repository while keeping reasonable sizes,
in the same way that JGit does.

This EWAH implementation is a mostly straightforward port of the
original `javaewah` library that JGit currently uses. The library is
self-contained and has been embedded whole (4 files) inside the `ewah`
folder to ease redistribution.

The library is re-licensed under the GPLv2 with the permission of Daniel
Lemire, the original author. The source code for the C version can
be found on GitHub:

	https://github.com/vmg/libewok

The original Java implementation can also be found on GitHub:

	https://github.com/lemire/javaewah

[jc: stripped debug-only code per Peff's $gmane/239768]

Signed-off-by: Vicent Marti <tanoku@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Helped-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-12-30 12:17:20 -08:00
Documentation Update draft release notes to 1.8.5 2013-10-23 13:37:27 -07:00
block-sha1 Merge branch 'jn/block-sha1' into maint 2012-08-06 15:40:00 -07:00
builtin pack-objects: factor out name_hash 2013-10-24 15:44:52 -07:00
compat compat: add endianness helpers 2013-11-18 10:57:42 -08:00
contrib Merge branch 'bc/gnome-keyring' 2013-10-23 13:21:50 -07:00
ewah ewah: compressed bitmap implementation 2013-12-30 12:17:20 -08:00
git-gui git-gui 0.18.0 2013-06-16 20:06:55 -07:00
gitk-git Merge git://ozlabs.org/~paulus/gitk 2013-05-17 11:55:02 -07:00
gitweb Merge branch 'ab/gitweb-author-initials' 2013-09-17 11:42:27 -07:00
mergetools mergetools/diffmerge: support DiffMerge as a git mergetool 2013-10-13 16:00:57 -07:00
perl git-svn: fix termination issues for remote svn connections 2013-09-06 09:44:28 -07:00
po l10n: fr.po: 2135/2135 messages translated 2013-10-18 10:29:33 +08:00
ppc
t Merge branch 'jc/ls-files-killed-optim' into maint 2013-10-23 13:33:08 -07:00
templates sample pre-commit hook: use --bool when retrieving config var 2013-09-24 12:26:49 -07:00
vcs-svn remote-svn: add incremental import 2012-10-07 14:10:17 -07:00
xdiff diff: add --ignore-blank-lines option 2013-06-19 15:17:45 -07:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Merge branch 'jc/url-match' 2013-09-09 14:50:36 -07:00
.mailmap .mailmap: switch to Thomas Rast's personal address 2013-10-13 14:28:27 -07:00
COPYING
GIT-VERSION-GEN Git 1.8.4.1 2013-09-26 15:01:41 -07:00
INSTALL Typo fix: replacing it's -> its 2013-04-11 17:39:05 -07:00
LGPL-2.1
Makefile ewah: compressed bitmap implementation 2013-12-30 12:17:20 -08:00
README Merge branch 'ta/doc-no-small-caps' 2013-02-05 16:13:32 -08:00
RelNotes Start preparing for 1.8.4.2 2013-10-17 15:50:45 -07:00
abspath.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07: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
alloc.c
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: convert to use parse_pathspec 2013-07-15 10:56:07 -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 Merge branch 'lf/read-blob-data-from-index' 2013-04-21 18:39:45 -07:00
attr.h correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
base85.c
bisect.c list-objects: reduce one argument in mark_edges_uninteresting 2013-08-28 11:54:18 -07:00
bisect.h Move print_commit_list to libgit.a 2012-10-29 03:08:30 -04:00
blob.c
blob.h
branch.c Merge branch 'jh/checkout-auto-tracking' into maint 2013-10-23 13:32:50 -07:00
branch.h checkout: suppress tracking message with "-q" 2012-03-26 21:32:43 -07:00
builtin.h repack: rewrite the shell script in C 2013-09-17 13:34:50 -07: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 bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c object_array_entry: fix memory handling of the name field 2013-06-02 15:28:46 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
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 sha1_file: export `git_open_noatime` 2013-10-24 15:44:52 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c make color.ui default to 'auto' 2013-06-10 10:55:42 -07:00
color.h
column.c column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
column.h column: support piping stdout to external git-column process 2012-04-27 09:26:38 -07:00
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 builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
commit-slab.h commit-slab.h: Fix memory allocation and addressing 2013-07-29 08:44:29 -07:00
commit.c Merge branch 'tr/log-full-diff-keep-true-parents' into maint 2013-09-18 11:59:05 -07:00
commit.h Merge branch 'nd/fetch-into-shallow' into maint 2013-10-23 13:32:17 -07:00
config.c config.c: mark file-local function static 2013-10-14 16:00:37 -07:00
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname MinGW: Fix stat definitions to work with MinGW runtime version 4.0 2013-09-11 11:11:06 -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/clone-local-with-colon' 2013-10-14 11:06:57 -07:00
connect.h cache.h: move remote/connect API out of it 2013-07-08 14:34:24 -07:00
connected.c clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
connected.h clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
convert.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
convert.h typofix: in-code comments 2013-07-22 16:06:49 -07:00
copy.c
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 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 sha1write: make buffer const-correct 2013-10-24 15:44:18 -07:00
csum-file.h sha1write: make buffer const-correct 2013-10-24 15:44:18 -07:00
ctype.c ctype: support iscntrl, ispunct, isxdigit and isprint 2012-10-15 14:58:16 -07:00
daemon.c Merge branch 'sb/misc-fixes' 2013-07-24 19:20:59 -07:00
date.c Merge branch 'jc/prune-all' 2013-05-29 14:23:04 -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 Merge branch 'dw/diff-no-index-doc' 2013-09-17 11:42:44 -07:00
diff.c Merge branch 'mg/more-textconv' 2013-10-23 13:21:31 -07:00
diff.h Merge branch 'mg/more-textconv' 2013-10-23 13:21:31 -07: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
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 Merge branch 'jk/maint-null-in-trees' into maint-1.7.11 2012-09-10 15:24:54 -07:00
dir.c Merge branch 'jc/ls-files-killed-optim' into maint 2013-10-23 13:33:08 -07: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 Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
environment.c Merge branch 'nd/git-dir-pointing-at-gitfile' into maint 2013-10-17 15:45:55 -07:00
exec_cmd.c run-command: treat inaccessible directories as ENOENT 2012-04-05 16:24:13 -07:00
exec_cmd.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
fast-import.c Merge branch 'bk/refs-multi-update' 2013-09-20 12:36:12 -07:00
fetch-pack.c Merge branch 'nd/fetch-into-shallow' into maint 2013-10-23 13:32:17 -07:00
fetch-pack.h cache.h: move remote/connect API out of it 2013-07-08 14:34:24 -07: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 i18n: help: mark strings for translation 2012-04-24 14:55:48 -07:00
gettext.c fetch: align per-ref summary report in UTF-8 locales 2012-09-14 12:45:50 -07:00
gettext.h Merge branch 'nd/fetch-status-alignment' 2012-09-18 14:35:55 -07:00
git-add--interactive.perl add--interactive: fix external command invocation on Windows 2013-09-04 10:35:25 -07:00
git-am.sh am: replace uses of --resolved with --continue 2013-06-27 09:37:12 -07:00
git-archimport.perl git-archimport: use a lowercase "usage:" string 2013-02-24 13:31:06 -08:00
git-bisect.sh bisect: Fix log output for multi-parent skip ranges 2013-05-22 15:40:43 -07:00
git-compat-util.h Windows: do not redefine _WIN32_WINNT 2013-09-11 14:50:19 -07: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 'jc/cvsserver-perm-bit-fix' into maint 2013-10-17 15:45:58 -07:00
git-difftool--helper.sh difftool--helper: fix printf usage 2013-02-10 11:35:50 -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
git-lost-found.sh
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 mergetool--lib: Fix typo in the merge/difftool help 2013-10-14 16:28:38 -07:00
git-mergetool.sh Merge branch 'al/mergetool-printf-fix' 2013-02-14 10:29:37 -08:00
git-p4.py Merge branch 'ks/p4-view-spec' 2013-09-18 11:44:50 -07:00
git-parse-remote.sh push/pull: adjust missing upstream help text to changed interface 2012-11-08 11:32:38 -05:00
git-pull.sh Merge branch 'fc/trivial' 2013-09-17 11:42:34 -07:00
git-quiltimport.sh Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00
git-rebase--am.sh am: return control to caller, for housekeeping 2013-05-12 23:20:07 -07:00
git-rebase--interactive.sh Merge branch 'es/rebase-i-no-abbrev' into maint 2013-10-17 15:45:50 -07:00
git-rebase--merge.sh rebase --merge: return control to caller, for housekeeping 2013-05-12 23:20:08 -07:00
git-rebase.sh Merge branch 'mm/rebase-continue-freebsd-WB' into maint 2013-09-26 12:41:14 -07: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 request-pull: improve error message for invalid revision args 2013-07-17 12:30:58 -07:00
git-send-email.perl send-email: don't call methods on undefined values 2013-09-10 08:49:22 -07:00
git-sh-i18n.sh i18n: fix auto detection of gettext scheme for shell scripts 2012-03-12 14:41:15 -07:00
git-sh-setup.sh Merge branch 'jc/reflog-doc' 2013-10-18 13:50:12 -07:00
git-stash.sh Revert "git stash: avoid data loss when "git stash save" kills a directory" 2013-08-14 09:53:43 -07:00
git-submodule.sh Merge branch 'bc/submodule-status-ignored' 2013-09-24 23:36:08 -07: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-web--browse.sh web--browse: support /usr/bin/cygstart on Cygwin 2013-06-21 09:05:15 -07:00
git.c Merge branch 'sb/repack-in-c' 2013-10-18 13:49:57 -07:00
git.rc Provide a Windows version resource for the git executables. 2013-06-04 10:11:08 +01:00
git.spec.in spec: add missing build dependency 2012-04-06 10:15:11 -07:00
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 Revert "graph.c: mark private file-scope symbols as static" 2013-03-03 19:43:54 -08: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 cygwin: Remove the Win32 l/stat() implementation 2013-07-18 10:44:17 -07:00
help.h help: add help_unknown_ref() 2013-05-08 15:31:54 -07:00
hex.c
http-backend.c Merge branch 'bc/http-backend-allow-405' into maint 2013-10-17 15:46:00 -07:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Merge branch 'nd/fetch-into-shallow' 2013-09-20 12:25:32 -07: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 'jc/url-match' 2013-09-09 14:50:36 -07:00
http.h Merge branch 'mv/ssl-ftp-curl' 2013-04-19 13:31:08 -07:00
ident.c format-patch: print in-body "From" only when needed 2013-09-20 11:09:51 -07:00
imap-send.c imap-send: use Apple's Security framework for base64 encoding 2013-07-30 08:53:24 -07:00
kwset.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
kwset.h
levenshtein.c
levenshtein.h
line-log.c Merge branch 'jl/submodule-mv' 2013-09-09 14:36:15 -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 'nd/fetch-into-shallow' 2013-09-20 12:25:32 -07: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 log: use true parents for diff even when rewriting 2013-08-01 10:25:48 -07: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
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 'jk/diff-algo' 2013-10-14 10:59:51 -07: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: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
mergesort.h mergesort: rename it to llist_mergesort() 2012-04-17 11:07:01 -07:00
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 Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
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 Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes-utils.h typofix: commit is spelled with two ems 2013-09-04 15:30:03 -07:00
notes.c string_list_add_refs_by_glob(): add a comment about memory management 2013-06-02 15:28:47 -07: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 fsck: print progress 2011-11-06 20:31:28 -08:00
pack-objects.c pack-objects: refactor the packing list 2013-10-24 15:44:48 -07:00
pack-objects.h pack-objects: factor out name_hash 2013-10-24 15:44:52 -07:00
pack-revindex.c revindex: export new APIs 2013-10-24 15:44:45 -07:00
pack-revindex.h revindex: export new APIs 2013-10-24 15:44:45 -07:00
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 pager: turn on "cat" optimization for DEFAULT_PAGER 2013-09-03 10:36:12 -07:00
parse-options-cb.c prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
parse-options.c parse-options: add OPT_CMDMODE() 2013-07-30 12:23:31 -07:00
parse-options.h Merge branch 'sb/parseopt-boolean-removal' 2013-09-04 12:39:03 -07: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 'jl/submodule-mv' 2013-09-09 14:36:15 -07:00
pathspec.c Merge branch 'nd/magic-pathspec' 2013-09-09 14:50:44 -07:00
pathspec.h Merge branch 'nd/magic-pathspec' 2013-09-09 14:50:44 -07:00
pkt-line.c pkt-line: share buffer/descriptor reading implementation 2013-02-24 00:14:15 -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 format-patch: print in-body "From" only when needed 2013-09-20 11:09:51 -07: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 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 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 prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c Merge branch 'es/name-hash-no-trailing-slash-in-dirs' 2013-10-17 15:55:16 -07:00
reflog-walk.c Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
reflog-walk.h Merge branch 'jk/maint-reflog-walk-count-vs-time' into maint 2012-05-14 11:46:16 -07:00
refs.c refs.c: spell NULL pointer as NULL 2013-10-14 16:10:50 -07:00
refs.h refs: add update_refs for multiple simultaneous updates 2013-09-04 11:10:28 -07:00
remote-curl.c Merge branch 'jc/push-cas' 2013-09-09 14:30:29 -07:00
remote-testsvn.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
remote.c Merge branch 'jx/branch-vv-always-compare-with-upstream' 2013-09-20 12:26:57 -07:00
remote.h Merge branch 'jc/push-cas' 2013-09-09 14:30:29 -07:00
replace_object.c
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 revision: allow setting custom limiter function 2013-10-24 15:44:52 -07:00
revision.h revision: allow setting custom limiter function 2013-10-24 15:44:52 -07:00
run-command.c Merge branch 'tr/fd-gotcha-fixes' 2013-07-22 11:23:13 -07:00
run-command.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
send-pack.c push --force-with-lease: tie it all together 2013-07-22 22:33:21 -07:00
send-pack.h
sequencer.c refs: report ref type from lock_any_ref_for_update 2013-08-30 14:57:28 -07: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 Merge branch 'jl/submodule-mv' 2013-09-09 14:36:15 -07:00
sh-i18n--envsubst.c
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
sha1_file.c sha1_file: export `git_open_noatime` 2013-10-24 15:44:52 -07:00
sha1_name.c Merge branch 'fc/at-head' 2013-09-20 12:38:10 -07:00
shallow.c shallow: add setup_temporary_shallow() 2013-08-28 11:51:54 -07:00
shell.c Merge branch 'tr/protect-low-3-fds' 2013-07-22 11:23:35 -07:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
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: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
strbuf.h strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
streaming.c Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
streaming.h streaming: void pointer instead of char pointer 2012-05-03 10:22:56 -07:00
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 Merge branch 'jl/some-submodule-config-are-not-boolean' into maint 2013-09-18 11:59:35 -07: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 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 Merge branch 'js/test-ln-s-add' 2013-06-20 16:02:18 -07:00
test-ctype.c
test-date.c i18n: mark relative dates for translation 2012-04-24 14:55:48 -07:00
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 vcs-svn: drop no-op reset methods 2012-07-05 23:26:51 -05: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 Teach revision walking machinery to walk multiple times sequencially 2012-03-30 08:57:49 -07:00
test-run-command.c
test-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
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 string_list_longest_prefix(): remove function 2012-10-29 02:34:58 -04: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 add missing "format" function attributes 2013-07-09 22:23:04 -07:00
transport-helper.c Merge branch 'mm/mediawiki-dumb-push-fix' 2013-09-12 14:41:41 -07:00
transport.c Merge branch 'jc/transport-do-not-use-connect-twice-in-fetch' 2013-09-09 14:50:37 -07:00
transport.h Merge branch 'jc/transport-do-not-use-connect-twice-in-fetch' 2013-09-09 14:50:37 -07:00
tree-diff.c pathspec: support :(literal) syntax for noglob pathspec 2013-07-15 10:56:09 -07:00
tree-walk.c Merge branch 'jl/submodule-mv' 2013-09-09 14:36:15 -07: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: 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 employ new explicit "exists in index?" API 2013-09-17 10:07:37 -07: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/fetch-into-shallow' into maint 2013-10-23 13:32:17 -07:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
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: drop parse_driver function 2013-01-23 08:41: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: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
varint.h varint: make it available outside the context of pack 2012-04-03 16:24:44 -07:00
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 wrapper.c: only define gitmkstemps if needed 2013-10-14 16:16:00 -07: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 status: show commit sha1 in "You are currently cherry-picking" message 2013-10-11 10:42:45 -07:00
wt-status.h status: show commit sha1 in "You are currently cherry-picking" message 2013-10-11 10:42:45 -07:00
xdiff-interface.c xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
xdiff-interface.h xdiff: remove emit_func() and xdi_diff_hunks() 2012-05-09 14:08:42 -07:00
zlib.c zlib: fix compilation failures with Sun C Compilaer 2013-04-22 09:49:04 -07:00

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.