1
0
mirror of https://github.com/git/git.git synced 2024-10-01 10:41:25 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Linus Torvalds 01904572a5 Move 'unpack_trees()' over to 'traverse_trees()' interface
This not only deletes more code than it adds, it gets rid of a
singularly hard-to-understand function (unpack_trees_rec()), and
replaces it with a set of smaller and simpler functions that use the
generic tree traversal mechanism to walk over one or more git trees in
parallel.

It's still not the most wonderful interface, and by no means is the new
code easy to understand either, but it's at least a bit less opaque.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-03-09 00:43:47 -08:00
arm
compat Add compat/snprintf.c for systems that return bogus 2008-03-05 13:12:07 -08:00
contrib Merge branch 'jc/am' 2008-03-08 20:10:05 -08:00
Documentation Merge branch 'ph/parseopt' 2008-03-08 21:29:59 -08:00
git-gui Merge branch 'maint' 2008-03-07 22:43:46 -08:00
gitk-git
gitweb gitweb: Fix and simplify pickaxe search 2008-03-05 13:38:34 -08:00
mozilla-sha1
perl
ppc
t Add a test for read-tree -u --reset with a D/F conflict 2008-03-08 21:30:05 -08:00
templates Merge branch 'maint' 2008-02-29 00:00:09 -08:00
xdiff xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM 2008-02-18 00:10:37 -08:00
.gitattributes
.gitignore use build-time SHELL_PATH in test scripts 2008-02-29 00:00:29 -08:00
.mailmap
alias.c make alias lookup a public, procedural function 2008-02-24 18:31:49 -08:00
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
attr.c
attr.h
base85.c
blob.c
blob.h
branch.c branch: optionally setup branch.*.merge from upstream local branches 2008-02-19 21:17:45 -08:00
branch.h branch: optionally setup branch.*.merge from upstream local branches 2008-02-19 21:17:45 -08:00
builtin-add.c Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes) 2008-03-07 00:14:43 -08:00
builtin-annotate.c
builtin-apply.c Merge branch 'jc/apply-whitespace' 2008-02-24 17:23:17 -08:00
builtin-archive.c
builtin-blame.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
builtin-branch.c Merge branch 'jm/free' 2008-02-27 13:03:50 -08:00
builtin-bundle.c
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c
builtin-checkout-index.c
builtin-checkout.c cleanup: remove unused git_checkout_config 2008-03-02 08:11:44 -08:00
builtin-clean.c git-clean: correct printing relative path 2008-03-07 21:22:37 -08:00
builtin-commit-tree.c
builtin-commit.c Merge branch 'db/checkout' 2008-02-27 12:53:26 -08:00
builtin-config.c
builtin-count-objects.c
builtin-describe.c Merge branch 'jc/describe-always' 2008-03-08 20:10:09 -08:00
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c Merge branch 'jc/diff-relative' 2008-02-27 11:55:28 -08:00
builtin-fast-export.c Merge branch 'jm/free' 2008-02-27 13:03:50 -08:00
builtin-fetch--tool.c
builtin-fetch-pack.c Merge branch 'sp/fetch-optim' 2008-03-08 20:11:35 -08:00
builtin-fetch.c Teach git-fetch to exploit server side automatic tag following 2008-03-04 23:28:15 -08:00
builtin-fmt-merge-msg.c check return code of prepare_revision_walk 2008-02-17 23:51:12 -08:00
builtin-for-each-ref.c builtin-for-each-ref.c: fix typo in error message 2008-02-24 18:34:34 -08:00
builtin-fsck.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
builtin-gc.c gc: Add --quiet option 2008-03-01 01:09:06 -08:00
builtin-grep.c Teach git-grep --name-only as synonym for -l 2008-02-20 20:36:20 -08:00
builtin-http-fetch.c Merge branch 'mh/maint-http-proxy-fix' 2008-03-02 15:11:26 -08:00
builtin-init-db.c Merge branch 'maint' 2008-02-26 00:14:22 -08:00
builtin-log.c log/show/whatchanged: introduce format.pretty configuration 2008-03-05 12:06:09 -08:00
builtin-ls-files.c Revert part of d089eba (setup: sanitize absolute and funny paths in get_pathspec()) 2008-03-07 00:14:43 -08:00
builtin-ls-remote.c Merge branch 'maint' 2008-03-04 00:34:39 -08:00
builtin-ls-tree.c
builtin-mailinfo.c
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM 2008-02-18 00:10:37 -08:00
builtin-merge-ours.c
builtin-merge-recursive.c Merge branch 'db/checkout' 2008-02-27 12:53:26 -08:00
builtin-mv.c Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files) 2008-03-07 00:14:43 -08:00
builtin-name-rev.c describe --always: fall back to showing an abbreviated object name 2008-03-03 00:52:17 -08:00
builtin-pack-objects.c git-pack-objects: Automatically pack annotated tags if object was packed 2008-03-04 23:28:14 -08:00
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c
builtin-push.c Resolve value supplied for no-colon push refspecs 2008-02-20 11:06:27 -08:00
builtin-read-tree.c Merge branch 'db/checkout' 2008-02-27 12:53:26 -08:00
builtin-reflog.c builtin-reflog.c: don't install new reflog on write failure 2008-02-27 13:26:24 -08:00
builtin-rerere.c Merge branch 'maint' 2008-02-26 00:14:22 -08:00
builtin-reset.c Make builtin-reset.c use parse_options. 2008-03-05 12:16:27 -08:00
builtin-rev-list.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
builtin-rev-parse.c parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt 2008-03-02 14:07:47 -08:00
builtin-revert.c Merge branch 'maint' 2008-03-02 23:59:50 -08:00
builtin-rm.c
builtin-send-pack.c Clean up find_unique_abbrev() callers 2008-03-01 23:52:13 -08:00
builtin-shortlog.c Merge branch 'aw/maint-shortlog-blank-lines' 2008-03-08 02:23:42 -08:00
builtin-show-branch.c
builtin-show-ref.c deref_tag: handle return value NULL 2008-02-17 23:46:55 -08:00
builtin-stripspace.c
builtin-symbolic-ref.c
builtin-tag.c start_command(), .in/.out/.err = -1: Callers must close the file descriptor 2008-02-23 11:59:44 -08:00
builtin-tar-tree.c
builtin-unpack-objects.c Revert "unpack-objects: prevent writing of inconsistent objects" 2008-03-04 03:11:30 -08:00
builtin-update-index.c
builtin-update-ref.c
builtin-upload-archive.c
builtin-verify-pack.c make verify_one_pack() a bit less wrong wrt packed_git structure 2008-03-01 01:44:45 -08:00
builtin-verify-tag.c start_command(), if .in/.out > 0, closes file descriptors, not the callers 2008-02-23 11:59:44 -08:00
builtin-write-tree.c
builtin.h Merge branch 'db/checkout' 2008-02-27 12:53:26 -08:00
bundle.c start_command(), if .in/.out > 0, closes file descriptors, not the callers 2008-02-23 11:59:44 -08:00
bundle.h
cache-tree.c
cache-tree.h
cache.h Add 'df_name_compare()' helper function 2008-03-09 00:43:46 -08:00
check-builtins.sh
check-racy.c
color.c Add color.ui variable which globally enables colorization if set 2008-02-18 00:00:38 -08:00
color.h Add color.ui variable which globally enables colorization if set 2008-02-18 00:00:38 -08:00
combine-diff.c
command-list.txt
commit.c builtin-fsck: reports missing parent commits 2008-02-25 23:57:35 -08:00
commit.h Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
config.c Merge branch 'js/branch-track' 2008-02-27 13:02:57 -08:00
config.mak.in Add compat/snprintf.c for systems that return bogus 2008-03-05 13:12:07 -08:00
configure.ac Add compat/snprintf.c for systems that return bogus 2008-03-05 13:12:07 -08:00
connect.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
convert.c
copy.c Use a single implementation and API for copy_file() 2008-02-25 13:06:49 -08:00
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: ensure that base-path is an existing directory 2008-02-27 14:47:36 -08:00
date.c timezone_names[]: fixed the tz offset for New Zealand. 2008-02-25 21:56:10 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff-lib.c: constness strengthening 2008-03-02 01:00:30 -08:00
diff.c diff: make sure work tree side is shown as 0{40} when different 2008-03-02 01:08:34 -08:00
diff.h Merge branch 'jc/diff-relative' 2008-02-27 11:55:28 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c rename: warn user when we have turned off rename detection 2008-03-01 01:30:15 -08:00
diffcore.h
dir.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
dir.h
dump-cache-tree.c
entry.c
environment.c Merge branch 'js/branch-track' 2008-02-27 13:02:57 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c Merge branch 'maint' to sync with 1.5.4.4 2008-03-08 20:07:57 -08:00
fetch-pack.h Teach fetch-pack/upload-pack about --include-tag 2008-03-04 23:28:14 -08:00
fixup-builtins
fsck.c fsck.c: fix bogus "empty tree" check 2008-03-05 10:32:01 -08:00
fsck.h add common fsck error printing function 2008-02-25 23:57:35 -08:00
generate-cmdlist.sh
git-add--interactive.perl
git-am.sh am: --rebasing 2008-03-05 10:52:56 -08:00
git-archimport.perl
git-bisect.sh Eliminate confusing "won't bisect on seeked tree" failure 2008-02-27 13:26:30 -08:00
git-clone.sh clone: support cloning full bundles 2008-02-29 16:27:25 -08:00
git-compat-util.h Merge branch 'mr/compat-snprintf' 2008-03-08 21:29:50 -08:00
git-cvsexportcommit.perl Merge branch 'js/maint-cvsexport' into maint 2008-03-08 02:13:52 -08:00
git-cvsimport.perl cvsimport: allow for multiple -M options 2008-03-01 00:55:38 -08:00
git-cvsserver.perl specify explicit "--pretty=medium" with git log/show/whatchanged 2008-03-05 12:06:09 -08:00
git-filter-branch.sh filter-branch: handle "disappearing tree" case correctly in subdir filter 2008-03-08 13:25:57 -08:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-merge-stupid.sh
git-merge.sh specify explicit "--pretty=medium" with git log/show/whatchanged 2008-03-05 12:06:09 -08:00
git-mergetool.sh Teach git mergetool to use custom commands defined at config time 2008-03-05 12:07:04 -08:00
git-parse-remote.sh
git-pull.sh pull: pass --strategy along to to rebase 2008-02-22 21:44:46 -08:00
git-quiltimport.sh
git-rebase--interactive.sh Prompt to continue when editing during rebase --interactive 2008-02-27 11:23:22 -08:00
git-rebase.sh am: --rebasing 2008-03-05 10:52:56 -08:00
git-relink.perl
git-remote.perl git-remote: do not complain on multiple URLs for a remote 2008-02-27 14:01:32 -08:00
git-repack.sh
git-request-pull.sh
git-send-email.perl send-email: --no-signed-off-cc should suppress 'sob' cc 2008-03-07 22:35:34 -08:00
git-sh-setup.sh Simplify setup of $GIT_DIR in git-sh-setup.sh 2008-02-18 21:53:44 -08:00
git-stash.sh git-stash: add new 'pop' subcommand 2008-02-22 22:59:11 -08:00
git-submodule.sh git-submodule - Allow adding a submodule in-place 2008-03-05 13:37:46 -08:00
git-svn.perl Merge branch 'maint' to sync with 1.5.4.4 2008-03-08 20:07:57 -08:00
GIT-VERSION-GEN GIT 1.5.4.4 2008-03-08 19:43:21 -08:00
git-web--browse.sh
git.c Merge branch 'db/checkout' 2008-02-27 12:53:26 -08:00
git.spec.in Rename git-core rpm to just git and rename the meta-pacakge to git-all. 2008-02-19 22:17:22 -08:00
grep.c
grep.h
hash-object.c hash-object: cleanup handling of command line options 2008-02-22 09:32:49 -08:00
hash.c hash: fix lookup_hash semantics 2008-02-22 13:39:20 -08:00
hash.h
help.c help: respect aliases 2008-02-24 18:31:50 -08:00
http-push.c Merge branch 'mh/maint-http-proxy-fix' into maint 2008-03-08 02:20:37 -08:00
http-walker.c Set proxy override with http_init() 2008-02-27 15:37:57 -08:00
http.c Merge branch 'mh/maint-http-proxy-fix' into maint 2008-03-08 02:20:37 -08:00
http.h Set proxy override with http_init() 2008-02-27 15:37:57 -08:00
ident.c ident.c: reword error message when the user name cannot be determined 2008-03-08 19:43:21 -08:00
imap-send.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
index-pack.c index-pack: introduce checking mode 2008-02-28 21:56:02 -08:00
INSTALL
interpolate.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
interpolate.h
list-objects.c list-objects.c::process_tree/blob: check for NULL 2008-02-18 19:25:26 -08:00
list-objects.h
lockfile.c
log-tree.c Merge branch 'db/cover-letter' 2008-02-27 12:06:41 -08:00
log-tree.h Export some email and pretty-printing functions 2008-02-19 00:56:46 -08:00
mailmap.c
mailmap.h
Makefile Merge branch 'mr/compat-snprintf' 2008-03-08 21:29:50 -08:00
match-trees.c
merge-file.c
merge-index.c git-merge-index documentation: clarify synopsis 2008-02-22 07:02:40 -08:00
merge-recursive.h
merge-tree.c Make 'traverse_trees()' traverse conflicting DF entries in parallel 2008-03-09 00:43:47 -08:00
mktag.c
mktree.c
object.c
object.h Remove unused object-ref code 2008-02-25 23:57:35 -08:00
pack-check.c add storage size output to 'git verify-pack -v' 2008-03-01 01:44:46 -08:00
pack-redundant.c
pack-revindex.c factorize revindex code out of builtin-pack-objects.c 2008-03-01 01:44:45 -08:00
pack-revindex.h factorize revindex code out of builtin-pack-objects.c 2008-03-01 01:44:45 -08:00
pack-write.c
pack.h
pager.c
parse-options.c parse-options: new option type to treat an option-like parameter as an argument. 2008-03-02 14:07:47 -08:00
parse-options.h parse-options: new option type to treat an option-like parameter as an argument. 2008-03-02 14:07:47 -08:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path-list.c
path-list.h
path.c Do not use GUID on dir in git init --shared=all on FreeBSD 2008-03-05 12:22:26 -08:00
pkt-line.c
pkt-line.h
pretty.c Merge branch 'jm/free' 2008-02-27 13:03:50 -08:00
progress.c
progress.h
quote.c Merge branch 'dp/clean-fix' 2008-03-08 21:29:56 -08:00
quote.h Make private quote_path() in wt-status.c available as quote_path_relative() 2008-03-07 21:22:25 -08:00
reachable.c Merge branch 'mk/maint-parse-careful' 2008-02-18 20:56:01 -08:00
reachable.h
read-cache.c Add 'df_name_compare()' helper function 2008-03-09 00:43:46 -08:00
README
receive-pack.c Revert "receive-pack: use strict mode for unpacking objects" 2008-03-04 03:11:06 -08:00
reflog-walk.c
reflog-walk.h
refs.c Merge commit '74359821' into js/reflog-delete 2008-03-03 01:20:19 -08:00
refs.h refs.c: make close_ref() and commit_ref() non-static 2008-02-22 22:57:38 -08:00
RelNotes Start preparing for 1.5.4.4 2008-02-27 23:37:39 -08:00
remote.c Merge branch 'jm/free' 2008-02-27 13:03:50 -08:00
remote.h Use ALLOC_GROW in remote.{c,h} 2008-02-19 01:04:32 -08:00
revision.c Merge branch 'jc/maint-log-merge-left-right' 2008-03-02 15:12:04 -08:00
revision.h Merge branch 'db/cover-letter' 2008-02-27 12:06:41 -08:00
run-command.c run-command: Redirect stderr to a pipe before redirecting stdout to stderr 2008-03-05 12:18:03 -08:00
run-command.h start_command(), if .in/.out > 0, closes file descriptors, not the callers 2008-02-23 11:59:44 -08:00
send-pack.h
server-info.c
setup.c get_pathspec(): die when an out-of-tree path is given 2008-03-07 00:14:42 -08:00
sha1_file.c fix unimplemented packed_object_info_detail() features 2008-03-01 01:44:46 -08:00
sha1_name.c find_unique_abbrev(): redefine semantics 2008-03-01 23:52:13 -08:00
shallow.c Merge branch 'mk/maint-parse-careful' 2008-02-18 20:56:01 -08:00
shell.c
shortlog.h Add API access to shortlog 2008-02-25 19:57:06 -08:00
show-index.c
sideband.c
sideband.h
strbuf.c
strbuf.h
symlinks.c
tag.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
tag.h
tar.h
test-absolute-path.c
test-chmtime.c
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c parse-options: new option type to treat an option-like parameter as an argument. 2008-03-02 14:07:47 -08:00
test-sha1.c
test-sha1.sh
thread-utils.c pack-objects: Add runtime detection of online CPU's 2008-02-23 12:00:32 -08:00
thread-utils.h pack-objects: Add runtime detection of online CPU's 2008-02-23 12:00:32 -08:00
trace.c
transport.c Teach git-fetch to exploit server side automatic tag following 2008-03-04 23:28:15 -08:00
transport.h Teach git-fetch to exploit server side automatic tag following 2008-03-04 23:28:15 -08:00
tree-diff.c
tree-walk.c Make 'traverse_trees()' traverse conflicting DF entries in parallel 2008-03-09 00:43:47 -08:00
tree-walk.h Make 'traverse_trees()' traverse conflicting DF entries in parallel 2008-03-09 00:43:47 -08:00
tree.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
tree.h
unpack-file.c
unpack-trees.c Move 'unpack_trees()' over to 'traverse_trees()' interface 2008-03-09 00:43:47 -08:00
unpack-trees.h
update-server-info.c
upload-pack.c Teach fetch-pack/upload-pack about --include-tag 2008-03-04 23:28:14 -08:00
usage.c
utf8.c
utf8.h
var.c
walker.c Remove unused object-ref code 2008-02-25 23:57:35 -08:00
walker.h Set proxy override with http_init() 2008-02-27 15:37:57 -08:00
write_or_die.c
ws.c git-apply --whitespace=fix: fix off by one thinko 2008-02-26 12:24:40 -08:00
wt-status.c Make private quote_path() in wt-status.c available as quote_path_relative() 2008-03-07 21:22:25 -08:00
wt-status.h
xdiff-interface.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -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.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.