1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-15 21:53:44 +01:00
Find a file
Linus Torvalds 4651ece854 Switch over tree descriptors to contain a pre-parsed entry
This makes the tree descriptor contain a "struct name_entry" as part of
it, and it gets filled in so that it always contains a valid entry. On
some benchmarks, it improves performance by up to 15%.

That makes tree entry "extract" trivial, and means that we only actually
need to decode each tree entry just once: we decode the first one when
we initialize the tree descriptor, and each subsequent one when doing
"update_tree_entry()".  In particular, this means that we don't need to
do strlen() both at extract time _and_ at update time.

Finally, it also allows more sharing of code (entry_extract(), that
wanted a "struct name_entry", just got totally trivial, along with the
"tree_entry()" function).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-21 11:15:26 -07:00
arm
compat Add a compat/strtoumax.c for Solaris 8. 2007-02-19 18:20:30 -08:00
contrib contrib/continuous: a continuous integration build manager 2007-03-19 22:21:19 -07:00
Documentation Provide some technical documentation for shallow clones 2007-03-19 22:19:29 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2007-03-12 23:14:07 -07:00
gitweb gitweb: Don't escape attributes in CGI.pm HTML methods 2007-03-06 19:04:07 -08:00
mozilla-sha1
perl Do not output "GEN " when generating perl.mak 2007-03-14 01:33:49 -07:00
ppc Assorted typo fixes 2007-02-03 21:49:54 -08:00
t don't ever allow SHA1 collisions to exist by fetching a pack 2007-03-20 22:08:25 -07:00
templates update-hook: fix incorrect use of git-describe and sed for finding previous tag 2007-03-14 09:14:51 -07:00
xdiff xdiff/xutils.c(xdl_hash_record): factor out whitespace handling 2007-03-19 22:17:25 -07:00
.gitignore Merge branch 'jc/fetch' 2007-03-14 01:40:19 -07:00
.mailmap .mailmap maintenance after pulling from git-svn 2007-02-23 03:11:52 -08:00
alloc.c
archive-tar.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive-zip.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive.h
base85.c
blob.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
blob.h
builtin-add.c add: Support specifying an excludes file with a configuration variable 2007-03-09 00:06:00 -08:00
builtin-annotate.c annotate: fix for cvsserver. 2007-02-06 01:52:04 -08:00
builtin-apply.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-archive.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
builtin-blame.c blame: cmp_suspect is not "cmp" anymore. 2007-03-20 23:37:51 -07:00
builtin-branch.c git-fetch, git-branch: Support local --track via a special remote '.' 2007-03-16 02:10:12 -07:00
builtin-bundle.c Replace fork_with_pipe in bundle with run_command 2007-03-12 23:40:17 -07:00
builtin-cat-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-check-ref-format.c
builtin-checkout-index.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-commit-tree.c Cleanup check_valid in commit-tree. 2007-02-27 21:40:18 -08:00
builtin-config.c git-config: document --rename-section, provide --remove-section 2007-03-03 19:59:37 -08:00
builtin-count-objects.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
builtin-describe.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-diff-files.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff-index.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff-tree.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-fetch--tool.c builtin-fetch--tool: fix reflog notes. 2007-02-28 17:02:18 -08:00
builtin-fmt-merge-msg.c Merge branch 'maint' 2007-02-27 22:15:42 -08:00
builtin-for-each-ref.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-fsck.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-gc.c Make gc a builtin. 2007-03-17 00:34:19 -07:00
builtin-grep.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-init-db.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-log.c Replace remaining instances of strdup with xstrdup. 2007-03-19 18:16:03 -07:00
builtin-ls-files.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-ls-tree.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-mailinfo.c restrict the patch filtering 2007-03-12 23:33:41 -07:00
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-mv.c
builtin-name-rev.c Merge branch 'js/name-rev-fix' 2007-02-20 22:24:03 -08:00
builtin-pack-objects.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-pack-refs.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c minor git-prune optimization 2007-03-20 22:17:47 -07:00
builtin-push.c Use RUN_GIT_CMD to run push backends 2007-03-12 23:40:18 -07:00
builtin-read-tree.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-reflog.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
builtin-rerere.c Merge branch 'maint' 2007-02-25 11:08:47 -08:00
builtin-rev-list.c Read the config in rev-list 2007-02-18 15:58:08 -08:00
builtin-rev-parse.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-revert.c Correct new compiler warnings in builtin-revert 2007-03-12 23:40:18 -07:00
builtin-rm.c git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
builtin-runstatus.c
builtin-shortlog.c shortlog: prompt when reading from terminal by mistake 2007-03-14 01:33:41 -07:00
builtin-show-branch.c General const correctness fixes 2007-03-07 10:47:10 -08:00
builtin-show-ref.c Merge branch 'maint' 2007-02-24 01:42:06 -08:00
builtin-stripspace.c
builtin-symbolic-ref.c add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-update-index.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
builtin-update-ref.c lock_any_ref_for_update(): do not accept malformatted refs. 2007-01-29 00:57:07 -08:00
builtin-upload-archive.c
builtin-verify-pack.c
builtin-write-tree.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin.h Make gc a builtin. 2007-03-17 00:34:19 -07:00
cache-tree.c
cache-tree.h
cache.h index-pack: use hash_sha1_file() 2007-03-20 22:09:57 -07:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
commit.c Replace remaining instances of strdup with xstrdup. 2007-03-19 18:16:03 -07:00
commit.h Merge branch 'js/commit-format' 2007-03-02 00:37:12 -08:00
config.c Limit the size of the new delta_base_cache 2007-03-18 22:43:37 -07:00
config.mak.in
configure.ac New autoconf test for iconv 2007-02-18 15:57:36 -08:00
connect.c Use run_command for proxy connections 2007-03-12 23:40:18 -07:00
convert-objects.c General const correctness fixes 2007-03-07 10:47:10 -08:00
convert.c Make AutoCRLF ternary variable. 2007-02-14 11:19:28 -08:00
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
date.c show_date(): rename the "relative" parameter to "mode" 2007-02-27 17:29:37 -08:00
delta.h
diff-delta.c
diff-lib.c Teach --quiet to diff backends. 2007-03-14 16:21:19 -07:00
diff.c diff --quiet 2007-03-14 16:21:19 -07:00
diff.h diff --quiet 2007-03-14 16:21:19 -07:00
diffcore-break.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-delta.c
diffcore-order.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c diffcore-pickaxe: fix infinite loop on zero-length needle 2007-01-25 21:17:19 -08:00
diffcore-rename.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore.h
dir.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
dir.h
dump-cache-tree.c
entry.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
environment.c Limit the size of the new delta_base_cache 2007-03-18 22:43:37 -07:00
exec_cmd.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
exec_cmd.h
fast-import.c Remove unnecessary casts from fast-import 2007-03-12 15:48:37 -04:00
fetch-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
fetch.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
fetch.h
generate-cmdlist.sh
git-add--interactive.perl git-add -i: update removed path correctly. 2007-02-07 10:56:38 -08:00
git-am.sh builtin-mailinfo.c infrastrcture changes 2007-03-12 23:33:41 -07:00
git-applymbox.sh applymbox: brown paper bag fix. 2007-03-16 21:22:05 -07:00
git-applypatch.sh
git-archimport.perl git-archimport: allow remapping branch names 2007-03-07 10:30:22 -08:00
git-bisect.sh add replay and log to the usage string of git-bisect 2007-02-06 13:58:03 -08:00
git-checkout.sh improve checkout message when asking for same branch 2007-03-20 22:17:44 -07:00
git-clean.sh
git-clone.sh make git clone -q suppress the noise with http fetch 2007-03-19 23:46:30 -07:00
git-commit.sh git-commit: add a --interactive option 2007-03-09 00:05:23 -08:00
git-compat-util.h Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
git-cvsexportcommit.perl Merge branch 'maint' 2007-02-28 14:18:57 -08:00
git-cvsimport.perl Read cvsimport options from repo-config 2007-02-07 23:54:25 -08:00
git-cvsserver.perl cvsserver: further improve messages on commit and status 2007-03-14 02:09:33 -07:00
git-fetch.sh git-fetch: Fix single_force in append_fetch_head 2007-03-20 01:52:11 -07:00
git-instaweb.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-lost-found.sh git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-ls-remote.sh Add git-bundle: move objects and references by archive 2007-02-22 22:30:33 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-ours.sh
git-merge-resolve.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-merge-stupid.sh
git-merge.sh git-merge: finish when git-read-tree fails 2007-03-16 04:34:17 -07:00
git-mergetool.sh mergetool: print an appropriate warning if merge.tool is unknown 2007-03-18 22:30:10 -04:00
git-p4import.py [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-parse-remote.sh git-fetch, git-branch: Support local --track via a special remote '.' 2007-03-16 02:10:12 -07:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh builtin-mailinfo.c infrastrcture changes 2007-03-12 23:33:41 -07:00
git-rebase.sh add -C[NUM] to git-am 2007-02-08 15:23:52 -08:00
git-relink.perl
git-remote.perl git-remote: support remotes with a dot in the name 2007-02-26 00:24:41 -08:00
git-repack.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.sh
git-reset.sh Shell syntax fix in git-reset 2007-01-18 14:22:24 -08:00
git-send-email.perl Make git-send-email aware of Cc: lines. 2007-03-18 21:10:03 -07:00
git-sh-setup.sh Commands requiring a work tree must not run in GIT_DIR 2007-02-05 14:02:16 -08:00
git-svn.perl git-svn: add -l/--local command to "git svn rebase" 2007-03-13 21:18:37 -07:00
git-svnimport.perl
git-tag.sh Fix git-tag -u 2007-01-30 21:03:11 -08:00
git-verify-tag.sh
GIT-VERSION-GEN GIT 1.5.1-rc1 2007-03-19 02:56:29 -07:00
git.c Make gc a builtin. 2007-03-17 00:34:19 -07:00
git.spec.in Update RPM core package description 2007-02-13 10:12:37 -08:00
gitk [PATCH] gitk: bind <F5> key to Update (reread commits) 2007-03-12 20:13:02 +11:00
grep.c
grep.h
hash-object.c index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
http-fetch.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
http-push.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
http.c
http.h
ident.c Rename get_ident() to fmt_ident() and make it available to outside 2007-02-04 17:50:14 -08:00
imap-send.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
index-pack.c index-pack: more validation checks and cleanups 2007-03-20 22:09:59 -07:00
INSTALL
interpolate.c General const correctness fixes 2007-03-07 10:47:10 -08:00
interpolate.h General const correctness fixes 2007-03-07 10:47:10 -08:00
list-objects.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
list-objects.h
local-fetch.c [PATCH] local-fetch.c: some error printing cleanup 2007-03-16 21:27:35 -07:00
lockfile.c
log-tree.c format-patch --attach: not folding some long headers. 2007-03-04 17:31:29 -08:00
log-tree.h
Makefile Make gc a builtin. 2007-03-17 00:34:19 -07:00
merge-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
merge-index.c Fix merge-index 2007-03-19 02:48:37 -07:00
merge-recursive.c Handle core.symlinks=false case in merge-recursive. 2007-03-03 18:59:41 -08:00
merge-tree.c Remove "pathlen" from "struct name_entry" 2007-03-21 10:21:56 -07:00
mktag.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c
object.c Don't ever return corrupt objects from "parse_object()" 2007-03-20 22:17:17 -07:00
object.h get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
pack-check.c [PATCH] clean up pack index handling a bit 2007-03-16 21:27:36 -07:00
pack-redundant.c [PATCH] clean up pack index handling a bit 2007-03-16 21:27:36 -07:00
pack.h [PATCH] clean up pack index handling a bit 2007-03-16 21:27:36 -07:00
pager.c pager: Work around window resizing bug in 'less' 2007-02-05 15:42:36 -08:00
patch-delta.c
patch-id.c
path-list.c
path-list.h
path.c General const correctness fixes 2007-03-07 10:47:10 -08:00
peek-remote.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
pkt-line.c
pkt-line.h
quote.c Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
quote.h Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
reachable.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
reachable.h
read-cache.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
README sanitize content of README file 2007-01-17 12:03:50 -08:00
receive-pack.c Use run_command within receive-pack to invoke index-pack 2007-03-12 23:40:18 -07:00
reflog-walk.c log --reflog: use dwim_log 2007-02-08 17:48:22 -08:00
reflog-walk.h log --reflog: honour --relative-date 2007-02-08 16:20:52 -08:00
refs.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
refs.h scan reflogs independently from refs 2007-02-03 11:57:18 -08:00
RelNotes GIT 1.5.0.5 2007-03-18 14:43:29 -07:00
revision.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
revision.h Merge branch 'jc/boundary' 2007-03-11 23:02:52 -07:00
rsh.c
rsh.h
run-command.c Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
run-command.h Teach run-command to redirect stdout to /dev/null 2007-03-12 23:40:17 -07:00
send-pack.c Use run_command within send-pack 2007-03-12 23:40:18 -07:00
server-info.c Don't coredump on bad refs in update-server-info. 2007-01-31 13:09:58 -08:00
setup.c Merge branch 'maint' 2007-03-10 22:07:26 -08:00
sha1_file.c Be more careful about zlib return values 2007-03-20 22:17:32 -07:00
sha1_name.c Re-fix get_sha1_oneline() 2007-03-12 11:30:38 -07:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
shell.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
show-index.c
sideband.c
sideband.h
ssh-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
ssh-pull.c
ssh-push.c
ssh-upload.c
strbuf.c
strbuf.h
tag.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
tag.h
tar.h
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c
test-delta.c
test-sha1.c
test-sha1.sh
trace.c git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
tree-diff.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
tree-walk.c Switch over tree descriptors to contain a pre-parsed entry 2007-03-21 11:15:26 -07:00
tree-walk.h Switch over tree descriptors to contain a pre-parsed entry 2007-03-21 11:15:26 -07:00
tree.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
tree.h
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c Initialize tree descriptors with a helper function rather than by hand. 2007-03-21 10:21:57 -07:00
unpack-trees.h
update-server-info.c
upload-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
usage.c
utf8.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
write_or_die.c write_in_full: size_t is unsigned. 2007-01-26 17:39:03 -08:00
wt-status.c Merge branch 'master' into js/diff-ni 2007-02-26 01:20:42 -08:00
wt-status.h
xdiff-interface.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
xdiff-interface.h

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

	GIT - the stupid content tracker

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

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.