Staging
v0.5.1
v0.5.1
Revision 7da41f48c8acea834e8204917fe59da2b975903b authored by Shawn O. Pearce on 14 December 2006, 10:07:46 UTC, committed by Junio C Hamano on 14 December 2006, 10:40:33 UTC
When comparing file contents during the second loop through a rename detection attempt we can skip the expensive byte-by-byte comparsion if both source and destination files have valid SHA1 values. This improves performance by avoiding either an expensive open/mmap to read the working tree copy, or an expensive inflate of a blob object. Unfortunately we still have to at least initialize the sizes of the source and destination files even if the SHA1 values don't match. Failing to initialize the sizes causes a number of test cases to fail and start reporting different copy/rename behavior than was expected. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 155bd0c
File | Mode | Size |
---|---|---|
Documentation | ||
arm | ||
compat | ||
contrib | ||
gitweb | ||
mozilla-sha1 | ||
perl | ||
ppc | ||
t | ||
templates | ||
xdiff | ||
.gitignore | -rw-r--r-- | 2.1 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 749 bytes |
INSTALL | -rw-r--r-- | 5.1 KB |
Makefile | -rw-r--r-- | 26.5 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-- | 3.0 KB |
builtin-annotate.c | -rw-r--r-- | 444 bytes |
builtin-apply.c | -rw-r--r-- | 65.9 KB |
builtin-archive.c | -rw-r--r-- | 5.8 KB |
builtin-blame.c | -rw-r--r-- | 45.6 KB |
builtin-branch.c | -rw-r--r-- | 4.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.3 KB |
builtin-count-objects.c | -rw-r--r-- | 2.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.0 KB |
builtin-init-db.c | -rw-r--r-- | 8.2 KB |
builtin-log.c | -rw-r--r-- | 13.6 KB |
builtin-ls-files.c | -rw-r--r-- | 11.4 KB |
builtin-ls-tree.c | -rw-r--r-- | 3.5 KB |
builtin-mailinfo.c | -rw-r--r-- | 17.3 KB |
builtin-mailsplit.c | -rw-r--r-- | 4.2 KB |
builtin-mv.c | -rw-r--r-- | 7.5 KB |
builtin-name-rev.c | -rw-r--r-- | 5.5 KB |
builtin-pack-objects.c | -rw-r--r-- | 41.1 KB |
builtin-pack-refs.c | -rw-r--r-- | 2.3 KB |
builtin-prune-packed.c | -rw-r--r-- | 1.5 KB |
builtin-prune.c | -rw-r--r-- | 5.6 KB |
builtin-push.c | -rw-r--r-- | 6.5 KB |
builtin-read-tree.c | -rw-r--r-- | 5.9 KB |
builtin-repo-config.c | -rw-r--r-- | 4.9 KB |
builtin-rev-list.c | -rw-r--r-- | 6.3 KB |
builtin-rev-parse.c | -rw-r--r-- | 7.7 KB |
builtin-rm.c | -rw-r--r-- | 3.1 KB |
builtin-runstatus.c | -rw-r--r-- | 812 bytes |
builtin-show-branch.c | -rw-r--r-- | 18.2 KB |
builtin-show-ref.c | -rw-r--r-- | 3.2 KB |
builtin-stripspace.c | -rw-r--r-- | 1.0 KB |
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.2 KB |
builtin-verify-pack.c | -rw-r--r-- | 1.6 KB |
builtin-write-tree.c | -rw-r--r-- | 2.1 KB |
builtin.h | -rw-r--r-- | 4.8 KB |
cache-tree.c | -rw-r--r-- | 12.5 KB |
cache-tree.h | -rw-r--r-- | 921 bytes |
cache.h | -rw-r--r-- | 15.2 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-- | 22.6 KB |
commit.h | -rw-r--r-- | 3.2 KB |
config.c | -rw-r--r-- | 15.6 KB |
config.mak.in | -rw-r--r-- | 971 bytes |
configure.ac | -rw-r--r-- | 12.2 KB |
connect.c | -rw-r--r-- | 16.1 KB |
convert-objects.c | -rw-r--r-- | 7.5 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-- | 26.0 KB |
date.c | -rw-r--r-- | 17.0 KB |
delta.h | -rw-r--r-- | 3.2 KB |
describe.c | -rw-r--r-- | 3.7 KB |
diff-delta.c | -rw-r--r-- | 13.8 KB |
diff-lib.c | -rw-r--r-- | 8.7 KB |
diff.c | -rw-r--r-- | 68.6 KB |
diff.h | -rw-r--r-- | 6.6 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-- | 8.9 KB |
dir.h | -rw-r--r-- | 1.3 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.0 KB |
exec_cmd.c | -rw-r--r-- | 2.8 KB |
exec_cmd.h | -rw-r--r-- | 295 bytes |
fetch-pack.c | -rw-r--r-- | 14.0 KB |
fetch.c | -rw-r--r-- | 6.6 KB |
fetch.h | -rw-r--r-- | 1.6 KB |
fsck-objects.c | -rw-r--r-- | 13.6 KB |
generate-cmdlist.sh | -rwxr-xr-x | 558 bytes |
git-am.sh | -rwxr-xr-x | 10.8 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.3 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.3 KB |
git-compat-util.h | -rw-r--r-- | 4.2 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 9.1 KB |
git-cvsimport.perl | -rwxr-xr-x | 23.7 KB |
git-cvsserver.perl | -rwxr-xr-x | 90.9 KB |
git-fetch.sh | -rwxr-xr-x | 11.1 KB |
git-instaweb.sh | -rwxr-xr-x | 4.9 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-recursive-old.py | -rwxr-xr-x | 30.8 KB |
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 | 8.0 KB |
git-p4import.py | -rw-r--r-- | 10.5 KB |
git-parse-remote.sh | -rwxr-xr-x | 5.4 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.0 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-repack.sh | -rwxr-xr-x | 2.5 KB |
git-request-pull.sh | -rwxr-xr-x | 844 bytes |
git-rerere.perl | -rwxr-xr-x | 4.8 KB |
git-reset.sh | -rwxr-xr-x | 1.5 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.2 KB |
git-sh-setup.sh | -rwxr-xr-x | 1014 bytes |
git-shortlog.perl | -rwxr-xr-x | 4.6 KB |
git-svn.perl | -rwxr-xr-x | 89.5 KB |
git-svnimport.perl | -rwxr-xr-x | 24.2 KB |
git-tag.sh | -rwxr-xr-x | 2.4 KB |
git-verify-tag.sh | -rwxr-xr-x | 703 bytes |
git.c | -rw-r--r-- | 9.5 KB |
git.spec.in | -rw-r--r-- | 7.0 KB |
gitMergeCommon.py | -rw-r--r-- | 6.9 KB |
gitk | -rwxr-xr-x | 170.4 KB |
grep.c | -rw-r--r-- | 12.9 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.2 KB |
http.c | -rw-r--r-- | 11.3 KB |
http.h | -rw-r--r-- | 2.4 KB |
ident.c | -rw-r--r-- | 5.1 KB |
imap-send.c | -rw-r--r-- | 28.5 KB |
index-pack.c | -rw-r--r-- | 24.9 KB |
interpolate.c | -rw-r--r-- | 2.1 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.3 KB |
log-tree.h | -rw-r--r-- | 386 bytes |
merge-base.c | -rw-r--r-- | 1.2 KB |
merge-file.c | -rw-r--r-- | 3.3 KB |
merge-index.c | -rw-r--r-- | 2.7 KB |
merge-recursive.c | -rw-r--r-- | 34.6 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.2 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.1 KB |
patch-id.c | -rw-r--r-- | 1.6 KB |
path-list.c | -rw-r--r-- | 2.3 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.4 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 |
read-cache.c | -rw-r--r-- | 24.8 KB |
receive-pack.c | -rw-r--r-- | 10.1 KB |
refs.c | -rw-r--r-- | 20.9 KB |
refs.h | -rw-r--r-- | 1.6 KB |
revision.c | -rw-r--r-- | 28.8 KB |
revision.h | -rw-r--r-- | 2.9 KB |
rsh.c | -rw-r--r-- | 1.8 KB |
rsh.h | -rw-r--r-- | 159 bytes |
run-command.c | -rw-r--r-- | 1.5 KB |
run-command.h | -rw-r--r-- | 523 bytes |
send-pack.c | -rw-r--r-- | 9.9 KB |
server-info.c | -rw-r--r-- | 5.1 KB |
setup.c | -rw-r--r-- | 6.1 KB |
sha1_file.c | -rw-r--r-- | 44.3 KB |
sha1_name.c | -rw-r--r-- | 12.7 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-- | 807 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-- | 416 bytes |
test-delta.c | -rw-r--r-- | 1.8 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.3 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-- | 812 bytes |
unpack-trees.c | -rw-r--r-- | 17.9 KB |
unpack-trees.h | -rw-r--r-- | 865 bytes |
update-server-info.c | -rw-r--r-- | 457 bytes |
upload-pack.c | -rw-r--r-- | 11.1 KB |
usage.c | -rw-r--r-- | 1.5 KB |
var.c | -rw-r--r-- | 1.3 KB |
write_or_die.c | -rw-r--r-- | 831 bytes |
wt-status.c | -rw-r--r-- | 7.4 KB |
wt-status.h | -rw-r--r-- | 451 bytes |
xdiff-interface.c | -rw-r--r-- | 2.2 KB |
xdiff-interface.h | -rw-r--r-- | 446 bytes |
Computing file changes ...