https://github.com/git/git
Revision f5184380f08c814535e7bda374e403596eef90a3 authored by Alex Riesen on 04 January 2007, 10:22:47 UTC, committed by Junio C Hamano on 10 January 2007, 22:45:20 UTC
The merge-recursive implementation in C inherited the invariant
that the on-file index file is written out and later read back
after any index operations and writing trees from the original
Python implementation.  But it was only because the original
implementation worked at the scripting level.

There is no need to write out the index file after handling
every path.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 2a3a3c2
History
Tip revision: f5184380f08c814535e7bda374e403596eef90a3 authored by Alex Riesen on 04 January 2007, 10:22:47 UTC
Speed-up recursive by flushing index only once for all entries
Tip revision: f518438
File Mode Size
Documentation
arm
compat
contrib
gitweb
mozilla-sha1
perl
ppc
t
templates
xdiff
.gitignore -rw-r--r-- 2.1 KB
.mailmap -rw-r--r-- 1.4 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 751 bytes
INSTALL -rw-r--r-- 4.1 KB
Makefile -rw-r--r-- 26.7 KB
README -rw-r--r-- 24.7 KB
alloc.c -rw-r--r-- 1.4 KB
archive-tar.c -rw-r--r-- 8.1 KB
archive-zip.c -rw-r--r-- 8.8 KB
archive.h -rw-r--r-- 1.1 KB
base85.c -rw-r--r-- 2.9 KB
blob.c -rw-r--r-- 1.2 KB
blob.h -rw-r--r-- 311 bytes
builtin-add.c -rw-r--r-- 4.3 KB
builtin-annotate.c -rw-r--r-- 444 bytes
builtin-apply.c -rw-r--r-- 66.1 KB
builtin-archive.c -rw-r--r-- 5.8 KB
builtin-blame.c -rw-r--r-- 46.7 KB
builtin-branch.c -rw-r--r-- 10.9 KB
builtin-cat-file.c -rw-r--r-- 3.2 KB
builtin-check-ref-format.c -rw-r--r-- 282 bytes
builtin-checkout-index.c -rw-r--r-- 7.6 KB
builtin-commit-tree.c -rw-r--r-- 3.9 KB
builtin-count-objects.c -rw-r--r-- 2.9 KB
builtin-describe.c -rw-r--r-- 3.8 KB
builtin-diff-files.c -rw-r--r-- 1.3 KB
builtin-diff-index.c -rw-r--r-- 1.0 KB
builtin-diff-stages.c -rw-r--r-- 2.5 KB
builtin-diff-tree.c -rw-r--r-- 3.2 KB
builtin-diff.c -rw-r--r-- 8.6 KB
builtin-fmt-merge-msg.c -rw-r--r-- 7.7 KB
builtin-for-each-ref.c -rw-r--r-- 20.4 KB
builtin-grep.c -rw-r--r-- 16.3 KB
builtin-init-db.c -rw-r--r-- 8.7 KB
builtin-log.c -rw-r--r-- 16.0 KB
builtin-ls-files.c -rw-r--r-- 11.5 KB
builtin-ls-tree.c -rw-r--r-- 3.5 KB
builtin-mailinfo.c -rw-r--r-- 16.7 KB
builtin-mailsplit.c -rw-r--r-- 4.1 KB
builtin-merge-file.c -rw-r--r-- 1.5 KB
builtin-mv.c -rw-r--r-- 7.4 KB
builtin-name-rev.c -rw-r--r-- 5.4 KB
builtin-pack-objects.c -rw-r--r-- 42.5 KB
builtin-pack-refs.c -rw-r--r-- 2.9 KB
builtin-prune-packed.c -rw-r--r-- 1.5 KB
builtin-prune.c -rw-r--r-- 1.9 KB
builtin-push.c -rw-r--r-- 7.1 KB
builtin-read-tree.c -rw-r--r-- 6.5 KB
builtin-reflog.c -rw-r--r-- 9.4 KB
builtin-repo-config.c -rw-r--r-- 5.4 KB
builtin-rerere.c -rw-r--r-- 10.1 KB
builtin-rev-list.c -rw-r--r-- 6.4 KB
builtin-rev-parse.c -rw-r--r-- 7.7 KB
builtin-rm.c -rw-r--r-- 5.4 KB
builtin-runstatus.c -rw-r--r-- 812 bytes
builtin-shortlog.c -rw-r--r-- 7.9 KB
builtin-show-branch.c -rw-r--r-- 19.2 KB
builtin-show-ref.c -rw-r--r-- 5.7 KB
builtin-stripspace.c -rw-r--r-- 1012 bytes
builtin-symbolic-ref.c -rw-r--r-- 728 bytes
builtin-tar-tree.c -rw-r--r-- 2.1 KB
builtin-unpack-objects.c -rw-r--r-- 9.0 KB
builtin-update-index.c -rw-r--r-- 16.6 KB
builtin-update-ref.c -rw-r--r-- 1.5 KB
builtin-upload-archive.c -rw-r--r-- 4.1 KB
builtin-verify-pack.c -rw-r--r-- 1.7 KB
builtin-write-tree.c -rw-r--r-- 2.1 KB
builtin.h -rw-r--r-- 5.2 KB
cache-tree.c -rw-r--r-- 12.5 KB
cache-tree.h -rw-r--r-- 921 bytes
cache.h -rw-r--r-- 16.1 KB
check-builtins.sh -rwxr-xr-x 588 bytes
check-racy.c -rw-r--r-- 517 bytes
color.c -rw-r--r-- 3.2 KB
color.h -rw-r--r-- 376 bytes
combine-diff.c -rw-r--r-- 25.0 KB
commit.c -rw-r--r-- 26.5 KB
commit.h -rw-r--r-- 3.6 KB
config.c -rw-r--r-- 19.3 KB
config.mak.in -rw-r--r-- 906 bytes
configure.ac -rw-r--r-- 10.8 KB
connect.c -rw-r--r-- 17.2 KB
convert-objects.c -rw-r--r-- 7.3 KB
copy.c -rw-r--r-- 692 bytes
csum-file.c -rw-r--r-- 2.9 KB
csum-file.h -rw-r--r-- 566 bytes
ctype.c -rw-r--r-- 890 bytes
daemon.c -rw-r--r-- 25.8 KB
date.c -rw-r--r-- 17.0 KB
delta.h -rw-r--r-- 3.2 KB
diff-delta.c -rw-r--r-- 13.8 KB
diff-lib.c -rw-r--r-- 8.8 KB
diff.c -rw-r--r-- 70.3 KB
diff.h -rw-r--r-- 6.7 KB
diffcore-break.c -rw-r--r-- 8.5 KB
diffcore-delta.c -rw-r--r-- 5.1 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 3.2 KB
diffcore-rename.c -rw-r--r-- 13.0 KB
diffcore.h -rw-r--r-- 3.7 KB
dir.c -rw-r--r-- 9.5 KB
dir.h -rw-r--r-- 1.7 KB
dump-cache-tree.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 4.1 KB
environment.c -rw-r--r-- 2.4 KB
exec_cmd.c -rw-r--r-- 2.8 KB
exec_cmd.h -rw-r--r-- 295 bytes
fetch-pack.c -rw-r--r-- 16.3 KB
fetch.c -rw-r--r-- 6.6 KB
fetch.h -rw-r--r-- 1.6 KB
fsck-objects.c -rw-r--r-- 14.0 KB
generate-cmdlist.sh -rwxr-xr-x 547 bytes
git-add--interactive.perl -rwxr-xr-x 15.9 KB
git-am.sh -rwxr-xr-x 11.0 KB
git-applymbox.sh -rwxr-xr-x 2.8 KB
git-applypatch.sh -rwxr-xr-x 5.4 KB
git-archimport.perl -rwxr-xr-x 34.2 KB
git-bisect.sh -rwxr-xr-x 5.7 KB
git-checkout.sh -rwxr-xr-x 5.4 KB
git-clean.sh -rwxr-xr-x 1.5 KB
git-clone.sh -rwxr-xr-x 9.9 KB
git-commit.sh -rwxr-xr-x 13.2 KB
git-compat-util.h -rw-r--r-- 6.1 KB
git-cvsexportcommit.perl -rwxr-xr-x 7.5 KB
git-cvsimport.perl -rwxr-xr-x 25.6 KB
git-cvsserver.perl -rwxr-xr-x 91.2 KB
git-fetch.sh -rwxr-xr-x 11.2 KB
git-gc.sh -rwxr-xr-x 265 bytes
git-instaweb.sh -rwxr-xr-x 5.2 KB
git-lost-found.sh -rwxr-xr-x 468 bytes
git-ls-remote.sh -rwxr-xr-x 2.2 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 3.1 KB
git-merge-ours.sh -rwxr-xr-x 356 bytes
git-merge-resolve.sh -rwxr-xr-x 955 bytes
git-merge-stupid.sh -rwxr-xr-x 1.4 KB
git-merge.sh -rwxr-xr-x 10.5 KB
git-p4import.py -rw-r--r-- 10.5 KB
git-parse-remote.sh -rwxr-xr-x 6.2 KB
git-pull.sh -rwxr-xr-x 2.9 KB
git-quiltimport.sh -rwxr-xr-x 3.0 KB
git-rebase.sh -rwxr-xr-x 8.1 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote.perl -rwxr-xr-x 5.8 KB
git-repack.sh -rwxr-xr-x 2.6 KB
git-request-pull.sh -rwxr-xr-x 847 bytes
git-reset.sh -rwxr-xr-x 2.3 KB
git-resolve.sh -rwxr-xr-x 2.7 KB
git-revert.sh -rwxr-xr-x 4.2 KB
git-send-email.perl -rwxr-xr-x 15.5 KB
git-sh-setup.sh -rwxr-xr-x 1.1 KB
git-svn.perl -rwxr-xr-x 80.3 KB
git-svnimport.perl -rwxr-xr-x 24.7 KB
git-tag.sh -rwxr-xr-x 2.9 KB
git-verify-tag.sh -rwxr-xr-x 741 bytes
git.c -rw-r--r-- 9.6 KB
git.spec.in -rw-r--r-- 7.0 KB
gitk -rwxr-xr-x 170.5 KB
grep.c -rw-r--r-- 12.8 KB
grep.h -rw-r--r-- 1.6 KB
hash-object.c -rw-r--r-- 1.8 KB
help.c -rw-r--r-- 4.8 KB
http-fetch.c -rw-r--r-- 26.1 KB
http-push.c -rw-r--r-- 66.3 KB
http.c -rw-r--r-- 11.3 KB
http.h -rw-r--r-- 2.5 KB
ident.c -rw-r--r-- 5.5 KB
imap-send.c -rw-r--r-- 28.5 KB
index-pack.c -rw-r--r-- 24.7 KB
interpolate.c -rw-r--r-- 2.0 KB
interpolate.h -rw-r--r-- 583 bytes
list-objects.c -rw-r--r-- 3.3 KB
list-objects.h -rw-r--r-- 382 bytes
local-fetch.c -rw-r--r-- 6.1 KB
lockfile.c -rw-r--r-- 1.5 KB
log-tree.c -rw-r--r-- 8.7 KB
log-tree.h -rw-r--r-- 386 bytes
merge-base.c -rw-r--r-- 1.1 KB
merge-file.c -rw-r--r-- 2.3 KB
merge-index.c -rw-r--r-- 2.7 KB
merge-recursive.c -rw-r--r-- 33.8 KB
merge-tree.c -rw-r--r-- 7.8 KB
mktag.c -rw-r--r-- 3.9 KB
mktree.c -rw-r--r-- 3.1 KB
object-refs.c -rw-r--r-- 3.0 KB
object.c -rw-r--r-- 5.4 KB
object.h -rw-r--r-- 2.4 KB
pack-check.c -rw-r--r-- 4.1 KB
pack-redundant.c -rw-r--r-- 14.3 KB
pack.h -rw-r--r-- 382 bytes
pager.c -rw-r--r-- 974 bytes
patch-delta.c -rw-r--r-- 2.2 KB
patch-id.c -rw-r--r-- 1.6 KB
path-list.c -rw-r--r-- 2.2 KB
path-list.h -rw-r--r-- 603 bytes
path.c -rw-r--r-- 6.0 KB
peek-remote.c -rw-r--r-- 1.3 KB
pkt-line.c -rw-r--r-- 2.5 KB
pkt-line.h -rw-r--r-- 348 bytes
quote.c -rw-r--r-- 7.6 KB
quote.h -rw-r--r-- 2.0 KB
reachable.c -rw-r--r-- 4.8 KB
reachable.h -rw-r--r-- 127 bytes
read-cache.c -rw-r--r-- 24.9 KB
receive-pack.c -rw-r--r-- 10.7 KB
refs.c -rw-r--r-- 27.4 KB
refs.h -rw-r--r-- 2.0 KB
revision.c -rw-r--r-- 30.9 KB
revision.h -rw-r--r-- 3.0 KB
rsh.c -rw-r--r-- 1.7 KB
rsh.h -rw-r--r-- 159 bytes
run-command.c -rw-r--r-- 1.8 KB
run-command.h -rw-r--r-- 594 bytes
send-pack.c -rw-r--r-- 9.5 KB
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 6.1 KB
sha1_file.c -rw-r--r-- 48.7 KB
sha1_name.c -rw-r--r-- 12.7 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 1.1 KB
show-index.c -rw-r--r-- 594 bytes
sideband.c -rw-r--r-- 1.9 KB
sideband.h -rw-r--r-- 335 bytes
ssh-fetch.c -rw-r--r-- 3.6 KB
ssh-pull.c -rw-r--r-- 154 bytes
ssh-push.c -rw-r--r-- 155 bytes
ssh-upload.c -rw-r--r-- 2.8 KB
strbuf.c -rw-r--r-- 768 bytes
strbuf.h -rw-r--r-- 216 bytes
tag.c -rw-r--r-- 2.6 KB
tag.h -rw-r--r-- 471 bytes
tar.h -rw-r--r-- 644 bytes
test-date.c -rw-r--r-- 378 bytes
test-delta.c -rw-r--r-- 1.7 KB
test-sha1.c -rw-r--r-- 815 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
trace.c -rw-r--r-- 3.9 KB
tree-diff.c -rw-r--r-- 6.1 KB
tree-walk.c -rw-r--r-- 4.4 KB
tree-walk.h -rw-r--r-- 863 bytes
tree.c -rw-r--r-- 5.0 KB
tree.h -rw-r--r-- 860 bytes
unpack-file.c -rw-r--r-- 820 bytes
unpack-trees.c -rw-r--r-- 18.2 KB
unpack-trees.h -rw-r--r-- 890 bytes
update-server-info.c -rw-r--r-- 457 bytes
upload-pack.c -rw-r--r-- 16.0 KB
usage.c -rw-r--r-- 1.9 KB
utf8.c -rw-r--r-- 9.5 KB
utf8.h -rw-r--r-- 389 bytes
var.c -rw-r--r-- 1.3 KB
write_or_die.c -rw-r--r-- 1.9 KB
wt-status.c -rw-r--r-- 8.4 KB
wt-status.h -rw-r--r-- 566 bytes
xdiff-interface.c -rw-r--r-- 2.6 KB
xdiff-interface.h -rw-r--r-- 500 bytes

README

back to top