https://github.com/git/git
Revision 96f6d3f61ad02ef2fd0393765207233845a7c7e0 authored by René Scharfe on 10 February 2017, 20:03:30 UTC, committed by Junio C Hamano on 13 February 2017, 20:06:10 UTC
prune_cache() first identifies those entries at the start of the sorted array that can be discarded. Then it moves the rest of the entries up. Last it identifies the unwanted trailing entries among the moved ones and cuts them off. Change the order: Identify both start *and* end of the range to keep first and then move only those entries to the top. The resulting code is slightly shorter and a bit more efficient. Signed-off-by: Rene Scharfe <l.s.r@web.de> Reviewed-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 7b4158a
Tip revision: 96f6d3f61ad02ef2fd0393765207233845a7c7e0 authored by René Scharfe on 10 February 2017, 20:03:30 UTC
ls-files: move only kept cache entries in prune_cache()
ls-files: move only kept cache entries in prune_cache()
Tip revision: 96f6d3f
File | Mode | Size |
---|---|---|
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
perl | ||
po | ||
ppc | ||
refs | ||
t | ||
templates | ||
vcs-svn | ||
xdiff | ||
.gitattributes | -rw-r--r-- | 114 bytes |
.gitignore | -rw-r--r-- | 3.1 KB |
.mailmap | -rw-r--r-- | 14.2 KB |
.travis.yml | -rw-r--r-- | 3.1 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 763 bytes |
INSTALL | -rw-r--r-- | 8.9 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 77.9 KB |
README.md | -rw-r--r-- | 2.9 KB |
RelNotes | l--------- | 33 bytes |
abspath.c | -rw-r--r-- | 4.4 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
advice.c | -rw-r--r-- | 4.0 KB |
advice.h | -rw-r--r-- | 967 bytes |
alias.c | -rw-r--r-- | 1.5 KB |
alloc.c | -rw-r--r-- | 2.6 KB |
apply.c | -rw-r--r-- | 128.2 KB |
apply.h | -rw-r--r-- | 3.9 KB |
archive-tar.c | -rw-r--r-- | 12.3 KB |
archive-zip.c | -rw-r--r-- | 15.4 KB |
archive.c | -rw-r--r-- | 14.6 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.7 KB |
argv-array.h | -rw-r--r-- | 689 bytes |
attr.c | -rw-r--r-- | 19.8 KB |
attr.h | -rw-r--r-- | 1.6 KB |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 25.0 KB |
bisect.h | -rw-r--r-- | 713 bytes |
blob.c | -rw-r--r-- | 389 bytes |
blob.h | -rw-r--r-- | 664 bytes |
branch.c | -rw-r--r-- | 9.2 KB |
branch.h | -rw-r--r-- | 2.4 KB |
builtin.h | -rw-r--r-- | 9.0 KB |
bulk-checkin.c | -rw-r--r-- | 7.0 KB |
bulk-checkin.h | -rw-r--r-- | 323 bytes |
bundle.c | -rw-r--r-- | 12.3 KB |
bundle.h | -rw-r--r-- | 707 bytes |
cache-tree.c | -rw-r--r-- | 17.4 KB |
cache-tree.h | -rw-r--r-- | 1.6 KB |
cache.h | -rw-r--r-- | 71.0 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
check-racy.c | -rw-r--r-- | 523 bytes |
check_bindir | -rwxr-xr-x | 374 bytes |
color.c | -rw-r--r-- | 8.4 KB |
color.h | -rw-r--r-- | 3.2 KB |
column.c | -rw-r--r-- | 9.7 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 40.2 KB |
command-list.txt | -rw-r--r-- | 8.9 KB |
commit-slab.h | -rw-r--r-- | 4.7 KB |
commit.c | -rw-r--r-- | 40.7 KB |
commit.h | -rw-r--r-- | 13.4 KB |
common-main.c | -rw-r--r-- | 1.1 KB |
config.c | -rw-r--r-- | 62.1 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 16.7 KB |
configure.ac | -rw-r--r-- | 35.2 KB |
connect.c | -rw-r--r-- | 20.5 KB |
connect.h | -rw-r--r-- | 676 bytes |
connected.c | -rw-r--r-- | 3.0 KB |
connected.h | -rw-r--r-- | 1.5 KB |
convert.c | -rw-r--r-- | 40.5 KB |
convert.h | -rw-r--r-- | 2.6 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential-cache--daemon.c | -rw-r--r-- | 6.9 KB |
credential-cache.c | -rw-r--r-- | 2.9 KB |
credential-store.c | -rw-r--r-- | 5.0 KB |
credential.c | -rw-r--r-- | 7.8 KB |
credential.h | -rw-r--r-- | 833 bytes |
csum-file.c | -rw-r--r-- | 4.0 KB |
csum-file.h | -rw-r--r-- | 1.3 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 32.1 KB |
date.c | -rw-r--r-- | 27.1 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 400 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.4 KB |
diff-lib.c | -rw-r--r-- | 14.6 KB |
diff-no-index.c | -rw-r--r-- | 7.0 KB |
diff.c | -rw-r--r-- | 142.2 KB |
diff.h | -rw-r--r-- | 12.9 KB |
diffcore-break.c | -rw-r--r-- | 9.0 KB |
diffcore-delta.c | -rw-r--r-- | 5.3 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 6.1 KB |
diffcore-rename.c | -rw-r--r-- | 17.6 KB |
diffcore.h | -rw-r--r-- | 4.7 KB |
dir-iterator.c | -rw-r--r-- | 4.8 KB |
dir-iterator.h | -rw-r--r-- | 2.7 KB |
dir.c | -rw-r--r-- | 71.0 KB |
dir.h | -rw-r--r-- | 10.4 KB |
editor.c | -rw-r--r-- | 1.5 KB |
entry.c | -rw-r--r-- | 7.4 KB |
environment.c | -rw-r--r-- | 9.7 KB |
exec_cmd.c | -rw-r--r-- | 3.0 KB |
exec_cmd.h | -rw-r--r-- | 540 bytes |
fast-import.c | -rw-r--r-- | 88.8 KB |
fetch-pack.c | -rw-r--r-- | 28.0 KB |
fetch-pack.h | -rw-r--r-- | 1.1 KB |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 24.1 KB |
fsck.h | -rw-r--r-- | 1.8 KB |
generate-cmdlist.sh | -rwxr-xr-x | 929 bytes |
gettext.c | -rw-r--r-- | 5.1 KB |
gettext.h | -rw-r--r-- | 2.2 KB |
git-add--interactive.perl | -rwxr-xr-x | 36.7 KB |
git-archimport.perl | -rwxr-xr-x | 36.0 KB |
git-bisect.sh | -rwxr-xr-x | 15.6 KB |
git-compat-util.h | -rw-r--r-- | 28.8 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 158.5 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.2 KB |
git-difftool.perl | -rwxr-xr-x | 12.4 KB |
git-filter-branch.sh | -rwxr-xr-x | 12.5 KB |
git-instaweb.sh | -rwxr-xr-x | 18.1 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.6 KB |
git-merge-resolve.sh | -rwxr-xr-x | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 8.7 KB |
git-mergetool.sh | -rwxr-xr-x | 9.8 KB |
git-p4.py | -rwxr-xr-x | 136.9 KB |
git-parse-remote.sh | -rw-r--r-- | 2.6 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.5 KB |
git-rebase--am.sh | -rw-r--r-- | 2.4 KB |
git-rebase--interactive.sh | -rw-r--r-- | 34.5 KB |
git-rebase--merge.sh | -rw-r--r-- | 3.8 KB |
git-rebase.sh | -rwxr-xr-x | 15.7 KB |
git-relink.perl | -rwxr-xr-x | 4.0 KB |
git-remote-testgit.sh | -rwxr-xr-x | 2.9 KB |
git-request-pull.sh | -rwxr-xr-x | 3.6 KB |
git-send-email.perl | -rwxr-xr-x | 49.4 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.3 KB |
git-sh-setup.sh | -rw-r--r-- | 9.1 KB |
git-stash.sh | -rwxr-xr-x | 13.9 KB |
git-submodule.sh | -rwxr-xr-x | 26.7 KB |
git-svn.perl | -rwxr-xr-x | 62.6 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 20.0 KB |
git.rc | -rw-r--r-- | 566 bytes |
gpg-interface.c | -rw-r--r-- | 6.3 KB |
gpg-interface.h | -rw-r--r-- | 1.2 KB |
graph.c | -rw-r--r-- | 35.5 KB |
graph.h | -rw-r--r-- | 4.9 KB |
grep.c | -rw-r--r-- | 43.3 KB |
grep.h | -rw-r--r-- | 4.7 KB |
hashmap.c | -rw-r--r-- | 6.3 KB |
hashmap.h | -rw-r--r-- | 2.5 KB |
help.c | -rw-r--r-- | 11.5 KB |
help.h | -rw-r--r-- | 1.1 KB |
hex.c | -rw-r--r-- | 2.5 KB |
http-backend.c | -rw-r--r-- | 16.6 KB |
http-fetch.c | -rw-r--r-- | 2.2 KB |
http-push.c | -rw-r--r-- | 49.7 KB |
http-walker.c | -rw-r--r-- | 14.0 KB |
http.c | -rw-r--r-- | 57.8 KB |
http.h | -rw-r--r-- | 6.5 KB |
ident.c | -rw-r--r-- | 12.2 KB |
imap-send.c | -rw-r--r-- | 35.7 KB |
iterator.h | -rw-r--r-- | 2.1 KB |
khash.h | -rw-r--r-- | 12.6 KB |
kwset.c | -rw-r--r-- | 20.5 KB |
kwset.h | -rw-r--r-- | 2.6 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 30.6 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.5 KB |
line-range.h | -rw-r--r-- | 1.3 KB |
list-objects.c | -rw-r--r-- | 6.0 KB |
list-objects.h | -rw-r--r-- | 381 bytes |
list.h | -rw-r--r-- | 4.6 KB |
ll-merge.c | -rw-r--r-- | 10.6 KB |
ll-merge.h | -rw-r--r-- | 567 bytes |
lockfile.c | -rw-r--r-- | 5.4 KB |
lockfile.h | -rw-r--r-- | 10.2 KB |
log-tree.c | -rw-r--r-- | 24.9 KB |
log-tree.h | -rw-r--r-- | 1.2 KB |
mailinfo.c | -rw-r--r-- | 26.0 KB |
mailinfo.h | -rw-r--r-- | 991 bytes |
mailmap.c | -rw-r--r-- | 8.9 KB |
mailmap.h | -rw-r--r-- | 271 bytes |
match-trees.c | -rw-r--r-- | 8.1 KB |
merge-blobs.c | -rw-r--r-- | 1.9 KB |
merge-blobs.h | -rw-r--r-- | 194 bytes |
merge-recursive.c | -rw-r--r-- | 61.1 KB |
merge-recursive.h | -rw-r--r-- | 1.6 KB |
merge.c | -rw-r--r-- | 2.5 KB |
mergesort.c | -rw-r--r-- | 1.5 KB |
mergesort.h | -rw-r--r-- | 574 bytes |
mru.c | -rw-r--r-- | 968 bytes |
mru.h | -rw-r--r-- | 1.0 KB |
name-hash.c | -rw-r--r-- | 5.9 KB |
notes-cache.c | -rw-r--r-- | 2.2 KB |
notes-cache.h | -rw-r--r-- | 500 bytes |
notes-merge.c | -rw-r--r-- | 22.7 KB |
notes-merge.h | -rw-r--r-- | 2.8 KB |
notes-utils.c | -rw-r--r-- | 4.9 KB |
notes-utils.h | -rw-r--r-- | 1.4 KB |
notes.c | -rw-r--r-- | 36.7 KB |
notes.h | -rw-r--r-- | 11.7 KB |
object.c | -rw-r--r-- | 9.6 KB |
object.h | -rw-r--r-- | 4.5 KB |
pack-bitmap-write.c | -rw-r--r-- | 12.3 KB |
pack-bitmap.c | -rw-r--r-- | 24.9 KB |
pack-bitmap.h | -rw-r--r-- | 1.7 KB |
pack-check.c | -rw-r--r-- | 5.2 KB |
pack-objects.c | -rw-r--r-- | 2.1 KB |
pack-objects.h | -rw-r--r-- | 2.0 KB |
pack-revindex.c | -rw-r--r-- | 5.7 KB |
pack-revindex.h | -rw-r--r-- | 323 bytes |
pack-write.c | -rw-r--r-- | 10.2 KB |
pack.h | -rw-r--r-- | 3.2 KB |
pager.c | -rw-r--r-- | 5.7 KB |
parse-options-cb.c | -rw-r--r-- | 5.2 KB |
parse-options.c | -rw-r--r-- | 17.4 KB |
parse-options.h | -rw-r--r-- | 9.9 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-ids.c | -rw-r--r-- | 3.1 KB |
patch-ids.h | -rw-r--r-- | 596 bytes |
path.c | -rw-r--r-- | 30.2 KB |
pathspec.c | -rw-r--r-- | 14.3 KB |
pathspec.h | -rw-r--r-- | 3.1 KB |
pkt-line.c | -rw-r--r-- | 8.2 KB |
pkt-line.h | -rw-r--r-- | 3.5 KB |
preload-index.c | -rw-r--r-- | 2.5 KB |
pretty.c | -rw-r--r-- | 44.9 KB |
prio-queue.c | -rw-r--r-- | 1.9 KB |
prio-queue.h | -rw-r--r-- | 1.5 KB |
progress.c | -rw-r--r-- | 6.3 KB |
progress.h | -rw-r--r-- | 504 bytes |
prompt.c | -rw-r--r-- | 1.4 KB |
prompt.h | -rw-r--r-- | 168 bytes |
quote.c | -rw-r--r-- | 10.6 KB |
quote.h | -rw-r--r-- | 2.8 KB |
reachable.c | -rw-r--r-- | 4.8 KB |
reachable.h | -rw-r--r-- | 304 bytes |
read-cache.c | -rw-r--r-- | 62.4 KB |
ref-filter.c | -rw-r--r-- | 44.0 KB |
ref-filter.h | -rw-r--r-- | 3.3 KB |
reflog-walk.c | -rw-r--r-- | 8.5 KB |
reflog-walk.h | -rw-r--r-- | 792 bytes |
refs.c | -rw-r--r-- | 37.6 KB |
refs.h | -rw-r--r-- | 20.0 KB |
remote-curl.c | -rw-r--r-- | 26.7 KB |
remote-testsvn.c | -rw-r--r-- | 8.3 KB |
remote.c | -rw-r--r-- | 58.5 KB |
remote.h | -rw-r--r-- | 8.0 KB |
replace_object.c | -rw-r--r-- | 3.0 KB |
rerere.c | -rw-r--r-- | 31.0 KB |
rerere.h | -rw-r--r-- | 1.2 KB |
resolve-undo.c | -rw-r--r-- | 4.3 KB |
resolve-undo.h | -rw-r--r-- | 612 bytes |
revision.c | -rw-r--r-- | 91.6 KB |
revision.h | -rw-r--r-- | 7.8 KB |
run-command.c | -rw-r--r-- | 28.9 KB |
run-command.h | -rw-r--r-- | 7.6 KB |
send-pack.c | -rw-r--r-- | 14.8 KB |
send-pack.h | -rw-r--r-- | 841 bytes |
sequencer.c | -rw-r--r-- | 40.1 KB |
sequencer.h | -rw-r--r-- | 1017 bytes |
server-info.c | -rw-r--r-- | 5.7 KB |
setup.c | -rw-r--r-- | 27.4 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.3 KB |
sha1-array.c | -rw-r--r-- | 1.3 KB |
sha1-array.h | -rw-r--r-- | 592 bytes |
sha1-lookup.c | -rw-r--r-- | 9.2 KB |
sha1-lookup.h | -rw-r--r-- | 403 bytes |
sha1_file.c | -rw-r--r-- | 93.9 KB |
sha1_name.c | -rw-r--r-- | 39.8 KB |
shallow.c | -rw-r--r-- | 19.4 KB |
shell.c | -rw-r--r-- | 4.8 KB |
shortlog.h | -rw-r--r-- | 476 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.1 KB |
sideband.h | -rw-r--r-- | 259 bytes |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 247 bytes |
split-index.c | -rw-r--r-- | 9.0 KB |
split-index.h | -rw-r--r-- | 1.1 KB |
strbuf.c | -rw-r--r-- | 18.6 KB |
strbuf.h | -rw-r--r-- | 19.3 KB |
streaming.c | -rw-r--r-- | 11.8 KB |
streaming.h | -rw-r--r-- | 507 bytes |
string-list.c | -rw-r--r-- | 7.3 KB |
string-list.h | -rw-r--r-- | 5.1 KB |
submodule-config.c | -rw-r--r-- | 13.8 KB |
submodule-config.h | -rw-r--r-- | 1.0 KB |
submodule.c | -rw-r--r-- | 36.8 KB |
submodule.h | -rw-r--r-- | 3.0 KB |
symlinks.c | -rw-r--r-- | 9.3 KB |
tag.c | -rw-r--r-- | 4.4 KB |
tag.h | -rw-r--r-- | 608 bytes |
tar.h | -rw-r--r-- | 644 bytes |
tempfile.c | -rw-r--r-- | 8.2 KB |
tempfile.h | -rw-r--r-- | 9.5 KB |
thread-utils.c | -rw-r--r-- | 1.7 KB |
thread-utils.h | -rw-r--r-- | 241 bytes |
tmp-objdir.c | -rw-r--r-- | 6.4 KB |
tmp-objdir.h | -rw-r--r-- | 1.5 KB |
trace.c | -rw-r--r-- | 10.8 KB |
trace.h | -rw-r--r-- | 3.6 KB |
trailer.c | -rw-r--r-- | 24.5 KB |
trailer.h | -rw-r--r-- | 170 bytes |
transport-helper.c | -rw-r--r-- | 35.7 KB |
transport.c | -rw-r--r-- | 30.6 KB |
transport.h | -rw-r--r-- | 8.2 KB |
tree-diff.c | -rw-r--r-- | 17.9 KB |
tree-walk.c | -rw-r--r-- | 28.1 KB |
tree-walk.h | -rw-r--r-- | 3.1 KB |
tree.c | -rw-r--r-- | 6.2 KB |
tree.h | -rw-r--r-- | 1.0 KB |
unicode_width.h | -rw-r--r-- | 8.2 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.4 KB |
unix-socket.h | -rw-r--r-- | 158 bytes |
unpack-trees.c | -rw-r--r-- | 51.4 KB |
unpack-trees.h | -rw-r--r-- | 2.2 KB |
upload-pack.c | -rw-r--r-- | 26.9 KB |
url.c | -rw-r--r-- | 2.4 KB |
url.h | -rw-r--r-- | 492 bytes |
urlmatch.c | -rw-r--r-- | 16.5 KB |
urlmatch.h | -rw-r--r-- | 1.9 KB |
usage.c | -rw-r--r-- | 4.0 KB |
userdiff.c | -rw-r--r-- | 9.6 KB |
userdiff.h | -rw-r--r-- | 780 bytes |
utf8.c | -rw-r--r-- | 16.1 KB |
utf8.h | -rw-r--r-- | 2.2 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 168 bytes |
version.c | -rw-r--r-- | 651 bytes |
version.h | -rw-r--r-- | 180 bytes |
versioncmp.c | -rw-r--r-- | 3.4 KB |
walker.c | -rw-r--r-- | 7.4 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 346 bytes |
worktree.c | -rw-r--r-- | 9.1 KB |
worktree.h | -rw-r--r-- | 2.2 KB |
wrap-for-bin.sh | -rw-r--r-- | 819 bytes |
wrapper.c | -rw-r--r-- | 14.5 KB |
write_or_die.c | -rw-r--r-- | 1.5 KB |
ws.c | -rw-r--r-- | 9.6 KB |
wt-status.c | -rw-r--r-- | 62.1 KB |
wt-status.h | -rw-r--r-- | 3.5 KB |
xdiff-interface.c | -rw-r--r-- | 7.0 KB |
xdiff-interface.h | -rw-r--r-- | 1.2 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...