https://github.com/git/git
Revision 03993e139cafd04c3783902243328442a5b4aa2c authored by Shawn O. Pearce on 14 July 2008, 02:07:46 UTC, committed by Junio C Hamano on 15 July 2008, 13:36:49 UTC
If we free the data stored within a base_data we need the struct object_entry to get the data back again for use with another dependent delta. Storing the object_entry* in base_data makes it simple to call get_data_from_pack() to recover the compressed information. This however means that we must add the missing base object to the end of our packfile prior to calling resolve_delta() on each of the dependent deltas. Adding the base first ensures we can read the base back from the pack we are indexing, as if it had been included by the remote side. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 4a438ca
Tip revision: 03993e139cafd04c3783902243328442a5b4aa2c authored by Shawn O. Pearce on 14 July 2008, 02:07:46 UTC
index-pack: Track the object_entry that creates each base_data
index-pack: Track the object_entry that creates each base_data
Tip revision: 03993e1
File | Mode | Size |
---|---|---|
Documentation | ||
arm | ||
compat | ||
contrib | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mozilla-sha1 | ||
perl | ||
ppc | ||
t | ||
templates | ||
xdiff | ||
.gitattributes | -rw-r--r-- | 51 bytes |
.gitignore | -rw-r--r-- | 2.3 KB |
.mailmap | -rw-r--r-- | 2.1 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 703 bytes |
INSTALL | -rw-r--r-- | 4.9 KB |
Makefile | -rw-r--r-- | 39.6 KB |
README | -rw-r--r-- | 2.1 KB |
RelNotes | l--------- | 34 bytes |
alias.c | -rw-r--r-- | 439 bytes |
alloc.c | -rw-r--r-- | 1.7 KB |
archive-tar.c | -rw-r--r-- | 7.6 KB |
archive-zip.c | -rw-r--r-- | 9.1 KB |
archive.c | -rw-r--r-- | 2.0 KB |
archive.h | -rw-r--r-- | 1.3 KB |
attr.c | -rw-r--r-- | 14.7 KB |
attr.h | -rw-r--r-- | 816 bytes |
base85.c | -rw-r--r-- | 2.9 KB |
blob.c | -rw-r--r-- | 1.1 KB |
blob.h | -rw-r--r-- | 311 bytes |
branch.c | -rw-r--r-- | 4.1 KB |
branch.h | -rw-r--r-- | 809 bytes |
builtin-add.c | -rw-r--r-- | 7.1 KB |
builtin-annotate.c | -rw-r--r-- | 446 bytes |
builtin-apply.c | -rw-r--r-- | 77.3 KB |
builtin-archive.c | -rw-r--r-- | 5.7 KB |
builtin-blame.c | -rw-r--r-- | 61.4 KB |
builtin-branch.c | -rw-r--r-- | 13.1 KB |
builtin-bundle.c | -rw-r--r-- | 1.7 KB |
builtin-cat-file.c | -rw-r--r-- | 5.6 KB |
builtin-check-attr.c | -rw-r--r-- | 1.4 KB |
builtin-check-ref-format.c | -rw-r--r-- | 282 bytes |
builtin-checkout-index.c | -rw-r--r-- | 7.5 KB |
builtin-checkout.c | -rw-r--r-- | 15.1 KB |
builtin-clean.c | -rw-r--r-- | 4.2 KB |
builtin-clone.c | -rw-r--r-- | 14.2 KB |
builtin-commit-tree.c | -rw-r--r-- | 3.3 KB |
builtin-commit.c | -rw-r--r-- | 27.3 KB |
builtin-config.c | -rw-r--r-- | 10.7 KB |
builtin-count-objects.c | -rw-r--r-- | 2.9 KB |
builtin-describe.c | -rw-r--r-- | 9.0 KB |
builtin-diff-files.c | -rw-r--r-- | 1.6 KB |
builtin-diff-index.c | -rw-r--r-- | 1.1 KB |
builtin-diff-tree.c | -rw-r--r-- | 3.2 KB |
builtin-diff.c | -rw-r--r-- | 9.9 KB |
builtin-fast-export.c | -rw-r--r-- | 10.1 KB |
builtin-fetch--tool.c | -rw-r--r-- | 12.7 KB |
builtin-fetch-pack.c | -rw-r--r-- | 18.7 KB |
builtin-fetch.c | -rw-r--r-- | 17.4 KB |
builtin-fmt-merge-msg.c | -rw-r--r-- | 8.0 KB |
builtin-for-each-ref.c | -rw-r--r-- | 21.4 KB |
builtin-fsck.c | -rw-r--r-- | 15.0 KB |
builtin-gc.c | -rw-r--r-- | 6.6 KB |
builtin-grep.c | -rw-r--r-- | 18.3 KB |
builtin-http-fetch.c | -rw-r--r-- | 2.1 KB |
builtin-init-db.c | -rw-r--r-- | 11.8 KB |
builtin-log.c | -rw-r--r-- | 29.2 KB |
builtin-ls-files.c | -rw-r--r-- | 14.6 KB |
builtin-ls-remote.c | -rw-r--r-- | 2.4 KB |
builtin-ls-tree.c | -rw-r--r-- | 4.4 KB |
builtin-mailinfo.c | -rw-r--r-- | 20.3 KB |
builtin-mailsplit.c | -rw-r--r-- | 6.4 KB |
builtin-merge-base.c | -rw-r--r-- | 1.2 KB |
builtin-merge-file.c | -rw-r--r-- | 1.7 KB |
builtin-merge-ours.c | -rw-r--r-- | 751 bytes |
builtin-merge-recursive.c | -rw-r--r-- | 36.6 KB |
builtin-mv.c | -rw-r--r-- | 7.2 KB |
builtin-name-rev.c | -rw-r--r-- | 7.0 KB |
builtin-pack-objects.c | -rw-r--r-- | 56.7 KB |
builtin-pack-refs.c | -rw-r--r-- | 3.4 KB |
builtin-prune-packed.c | -rw-r--r-- | 1.9 KB |
builtin-prune.c | -rw-r--r-- | 3.4 KB |
builtin-push.c | -rw-r--r-- | 3.6 KB |
builtin-read-tree.c | -rw-r--r-- | 6.2 KB |
builtin-reflog.c | -rw-r--r-- | 13.3 KB |
builtin-remote.c | -rw-r--r-- | 17.0 KB |
builtin-rerere.c | -rw-r--r-- | 10.3 KB |
builtin-reset.c | -rw-r--r-- | 7.7 KB |
builtin-rev-list.c | -rw-r--r-- | 16.4 KB |
builtin-rev-parse.c | -rw-r--r-- | 12.7 KB |
builtin-revert.c | -rw-r--r-- | 11.2 KB |
builtin-rm.c | -rw-r--r-- | 6.3 KB |
builtin-send-pack.c | -rw-r--r-- | 15.1 KB |
builtin-shortlog.c | -rw-r--r-- | 7.3 KB |
builtin-show-branch.c | -rw-r--r-- | 21.2 KB |
builtin-show-ref.c | -rw-r--r-- | 5.9 KB |
builtin-stripspace.c | -rw-r--r-- | 1.9 KB |
builtin-symbolic-ref.c | -rw-r--r-- | 1.2 KB |
builtin-tag.c | -rw-r--r-- | 10.8 KB |
builtin-tar-tree.c | -rw-r--r-- | 2.1 KB |
builtin-unpack-objects.c | -rw-r--r-- | 12.7 KB |
builtin-update-index.c | -rw-r--r-- | 19.0 KB |
builtin-update-ref.c | -rw-r--r-- | 1.4 KB |
builtin-upload-archive.c | -rw-r--r-- | 4.1 KB |
builtin-verify-pack.c | -rw-r--r-- | 1.7 KB |
builtin-verify-tag.c | -rw-r--r-- | 2.5 KB |
builtin-write-tree.c | -rw-r--r-- | 1.2 KB |
builtin.h | -rw-r--r-- | 6.7 KB |
bundle.c | -rw-r--r-- | 9.3 KB |
bundle.h | -rw-r--r-- | 627 bytes |
cache-tree.c | -rw-r--r-- | 13.4 KB |
cache-tree.h | -rw-r--r-- | 1.1 KB |
cache.h | -rw-r--r-- | 28.5 KB |
check-builtins.sh | -rwxr-xr-x | 588 bytes |
check-racy.c | -rw-r--r-- | 538 bytes |
color.c | -rw-r--r-- | 3.7 KB |
color.h | -rw-r--r-- | 667 bytes |
combine-diff.c | -rw-r--r-- | 26.6 KB |
command-list.txt | -rw-r--r-- | 7.5 KB |
commit.c | -rw-r--r-- | 14.7 KB |
commit.h | -rw-r--r-- | 4.2 KB |
config.c | -rw-r--r-- | 25.7 KB |
config.mak.in | -rw-r--r-- | 1.2 KB |
configure.ac | -rw-r--r-- | 16.2 KB |
connect.c | -rw-r--r-- | 13.5 KB |
convert.c | -rw-r--r-- | 14.0 KB |
copy.c | -rw-r--r-- | 1.1 KB |
csum-file.c | -rw-r--r-- | 2.4 KB |
csum-file.h | -rw-r--r-- | 714 bytes |
ctype.c | -rw-r--r-- | 889 bytes |
daemon.c | -rw-r--r-- | 26.9 KB |
date.c | -rw-r--r-- | 18.5 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 382 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.3 KB |
diff-lib.c | -rw-r--r-- | 13.0 KB |
diff-no-index.c | -rw-r--r-- | 5.8 KB |
diff.c | -rw-r--r-- | 87.1 KB |
diff.h | -rw-r--r-- | 8.4 KB |
diffcore-break.c | -rw-r--r-- | 8.7 KB |
diffcore-delta.c | -rw-r--r-- | 5.3 KB |
diffcore-order.c | -rw-r--r-- | 2.2 KB |
diffcore-pickaxe.c | -rw-r--r-- | 3.3 KB |
diffcore-rename.c | -rw-r--r-- | 16.6 KB |
diffcore.h | -rw-r--r-- | 4.0 KB |
dir.c | -rw-r--r-- | 19.9 KB |
dir.h | -rw-r--r-- | 2.2 KB |
dump-cache-tree.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 5.8 KB |
environment.c | -rw-r--r-- | 4.4 KB |
exec_cmd.c | -rw-r--r-- | 2.2 KB |
exec_cmd.h | -rw-r--r-- | 329 bytes |
fast-import.c | -rw-r--r-- | 62.0 KB |
fetch-pack.h | -rw-r--r-- | 460 bytes |
fixup-builtins | -rwxr-xr-x | 326 bytes |
fsck.c | -rw-r--r-- | 8.1 KB |
fsck.h | -rw-r--r-- | 1022 bytes |
generate-cmdlist.sh | -rwxr-xr-x | 442 bytes |
git-add--interactive.perl | -rwxr-xr-x | 23.0 KB |
git-am.sh | -rwxr-xr-x | 11.8 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 11.3 KB |
git-compat-util.h | -rw-r--r-- | 10.9 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 11.0 KB |
git-cvsimport.perl | -rwxr-xr-x | 26.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 112.9 KB |
git-filter-branch.sh | -rwxr-xr-x | 10.3 KB |
git-instaweb.sh | -rwxr-xr-x | 6.4 KB |
git-lost-found.sh | -rwxr-xr-x | 563 bytes |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.4 KB |
git-merge-resolve.sh | -rwxr-xr-x | 954 bytes |
git-merge-stupid.sh | -rwxr-xr-x | 1.4 KB |
git-merge.sh | -rwxr-xr-x | 12.3 KB |
git-mergetool.sh | -rwxr-xr-x | 9.7 KB |
git-parse-remote.sh | -rwxr-xr-x | 5.8 KB |
git-pull.sh | -rwxr-xr-x | 5.0 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.2 KB |
git-rebase--interactive.sh | -rwxr-xr-x | 12.8 KB |
git-rebase.sh | -rwxr-xr-x | 10.7 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-repack.sh | -rwxr-xr-x | 3.4 KB |
git-request-pull.sh | -rwxr-xr-x | 1.3 KB |
git-send-email.perl | -rwxr-xr-x | 25.6 KB |
git-sh-setup.sh | -rwxr-xr-x | 3.1 KB |
git-stash.sh | -rwxr-xr-x | 5.8 KB |
git-submodule.sh | -rwxr-xr-x | 12.7 KB |
git-svn.perl | -rwxr-xr-x | 137.6 KB |
git-web--browse.sh | -rwxr-xr-x | 3.6 KB |
git.c | -rw-r--r-- | 12.9 KB |
git.spec.in | -rw-r--r-- | 9.1 KB |
graph.c | -rw-r--r-- | 28.0 KB |
graph.h | -rw-r--r-- | 4.1 KB |
grep.c | -rw-r--r-- | 12.7 KB |
grep.h | -rw-r--r-- | 1.6 KB |
hash-object.c | -rw-r--r-- | 3.2 KB |
hash.c | -rw-r--r-- | 2.5 KB |
hash.h | -rw-r--r-- | 1.1 KB |
help.c | -rw-r--r-- | 15.5 KB |
http-push.c | -rw-r--r-- | 64.0 KB |
http-walker.c | -rw-r--r-- | 23.7 KB |
http.c | -rw-r--r-- | 14.3 KB |
http.h | -rw-r--r-- | 2.7 KB |
ident.c | -rw-r--r-- | 5.9 KB |
imap-send.c | -rw-r--r-- | 28.5 KB |
index-pack.c | -rw-r--r-- | 25.0 KB |
interpolate.c | -rw-r--r-- | 2.1 KB |
interpolate.h | -rw-r--r-- | 601 bytes |
list-objects.c | -rw-r--r-- | 4.7 KB |
list-objects.h | -rw-r--r-- | 382 bytes |
ll-merge.c | -rw-r--r-- | 8.7 KB |
ll-merge.h | -rw-r--r-- | 304 bytes |
lockfile.c | -rw-r--r-- | 5.4 KB |
log-tree.c | -rw-r--r-- | 12.0 KB |
log-tree.h | -rw-r--r-- | 585 bytes |
mailmap.c | -rw-r--r-- | 2.2 KB |
mailmap.h | -rw-r--r-- | 213 bytes |
match-trees.c | -rw-r--r-- | 7.1 KB |
merge-file.c | -rw-r--r-- | 2.4 KB |
merge-index.c | -rw-r--r-- | 2.4 KB |
merge-recursive.h | -rw-r--r-- | 443 bytes |
merge-tree.c | -rw-r--r-- | 8.0 KB |
mktag.c | -rw-r--r-- | 5.1 KB |
mktree.c | -rw-r--r-- | 3.0 KB |
name-hash.c | -rw-r--r-- | 2.5 KB |
object.c | -rw-r--r-- | 5.6 KB |
object.h | -rw-r--r-- | 2.1 KB |
pack-check.c | -rw-r--r-- | 5.2 KB |
pack-redundant.c | -rw-r--r-- | 14.9 KB |
pack-revindex.c | -rw-r--r-- | 3.7 KB |
pack-revindex.h | -rw-r--r-- | 225 bytes |
pack-write.c | -rw-r--r-- | 5.4 KB |
pack.h | -rw-r--r-- | 2.0 KB |
pager.c | -rw-r--r-- | 1.4 KB |
parse-options.c | -rw-r--r-- | 10.3 KB |
parse-options.h | -rw-r--r-- | 4.1 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-id.c | -rw-r--r-- | 1.6 KB |
patch-ids.c | -rw-r--r-- | 4.7 KB |
patch-ids.h | -rw-r--r-- | 490 bytes |
path-list.c | -rw-r--r-- | 3.0 KB |
path-list.h | -rw-r--r-- | 898 bytes |
path.c | -rw-r--r-- | 8.8 KB |
pkt-line.c | -rw-r--r-- | 2.4 KB |
pkt-line.h | -rw-r--r-- | 348 bytes |
pretty.c | -rw-r--r-- | 20.0 KB |
progress.c | -rw-r--r-- | 6.3 KB |
progress.h | -rw-r--r-- | 504 bytes |
quote.c | -rw-r--r-- | 9.6 KB |
quote.h | -rw-r--r-- | 2.2 KB |
reachable.c | -rw-r--r-- | 5.6 KB |
reachable.h | -rw-r--r-- | 127 bytes |
read-cache.c | -rw-r--r-- | 35.8 KB |
receive-pack.c | -rw-r--r-- | 12.1 KB |
reflog-walk.c | -rw-r--r-- | 6.7 KB |
reflog-walk.h | -rw-r--r-- | 383 bytes |
refs.c | -rw-r--r-- | 36.5 KB |
refs.h | -rw-r--r-- | 3.2 KB |
remote.c | -rw-r--r-- | 28.3 KB |
remote.h | -rw-r--r-- | 3.0 KB |
revision.c | -rw-r--r-- | 42.1 KB |
revision.h | -rw-r--r-- | 3.5 KB |
run-command.c | -rw-r--r-- | 4.9 KB |
run-command.h | -rw-r--r-- | 2.6 KB |
send-pack.h | -rw-r--r-- | 338 bytes |
server-info.c | -rw-r--r-- | 5.2 KB |
setup.c | -rw-r--r-- | 13.3 KB |
sha1-lookup.c | -rw-r--r-- | 5.2 KB |
sha1-lookup.h | -rw-r--r-- | 220 bytes |
sha1_file.c | -rw-r--r-- | 58.9 KB |
sha1_name.c | -rw-r--r-- | 16.5 KB |
shallow.c | -rw-r--r-- | 2.3 KB |
shell.c | -rw-r--r-- | 1.8 KB |
shortlog.h | -rw-r--r-- | 426 bytes |
show-index.c | -rw-r--r-- | 2.1 KB |
sideband.c | -rw-r--r-- | 3.0 KB |
sideband.h | -rw-r--r-- | 335 bytes |
strbuf.c | -rw-r--r-- | 4.8 KB |
strbuf.h | -rw-r--r-- | 4.2 KB |
symlinks.c | -rw-r--r-- | 1.3 KB |
tag.c | -rw-r--r-- | 2.7 KB |
tag.h | -rw-r--r-- | 471 bytes |
tar.h | -rw-r--r-- | 644 bytes |
test-absolute-path.c | -rw-r--r-- | 147 bytes |
test-chmtime.c | -rw-r--r-- | 1.2 KB |
test-date.c | -rw-r--r-- | 378 bytes |
test-delta.c | -rw-r--r-- | 1.8 KB |
test-genrandom.c | -rw-r--r-- | 731 bytes |
test-match-trees.c | -rw-r--r-- | 588 bytes |
test-parse-options.c | -rw-r--r-- | 2.1 KB |
test-sha1.c | -rw-r--r-- | 815 bytes |
test-sha1.sh | -rwxr-xr-x | 1.9 KB |
thread-utils.c | -rw-r--r-- | 1.0 KB |
thread-utils.h | -rw-r--r-- | 109 bytes |
trace.c | -rw-r--r-- | 3.5 KB |
transport.c | -rw-r--r-- | 19.9 KB |
transport.h | -rw-r--r-- | 2.2 KB |
tree-diff.c | -rw-r--r-- | 11.1 KB |
tree-walk.c | -rw-r--r-- | 5.3 KB |
tree-walk.h | -rw-r--r-- | 1.7 KB |
tree.c | -rw-r--r-- | 6.0 KB |
tree.h | -rw-r--r-- | 860 bytes |
unpack-file.c | -rw-r--r-- | 778 bytes |
unpack-trees.c | -rw-r--r-- | 24.2 KB |
unpack-trees.h | -rw-r--r-- | 1.3 KB |
update-server-info.c | -rw-r--r-- | 457 bytes |
upload-pack.c | -rw-r--r-- | 15.5 KB |
usage.c | -rw-r--r-- | 2.0 KB |
utf8.c | -rw-r--r-- | 11.1 KB |
utf8.h | -rw-r--r-- | 541 bytes |
var.c | -rw-r--r-- | 1.4 KB |
walker.c | -rw-r--r-- | 7.2 KB |
walker.h | -rw-r--r-- | 1.1 KB |
write_or_die.c | -rw-r--r-- | 2.4 KB |
ws.c | -rw-r--r-- | 7.2 KB |
wt-status.c | -rw-r--r-- | 10.7 KB |
wt-status.h | -rw-r--r-- | 756 bytes |
xdiff-interface.c | -rw-r--r-- | 5.3 KB |
xdiff-interface.h | -rw-r--r-- | 742 bytes |
Computing file changes ...