Go to file
Jeff King b4cfcde4db rev-list: handle flags for --indexed-objects
When a traversal sees the --indexed-objects option, it adds
all blobs and valid cache-trees from the index to the
traversal using add_index_objects_to_pending(). But that
function totally ignores its flags parameter!

That means that doing:

  git rev-list --objects --indexed-objects

and

  git rev-list --objects --not --indexed-objects

produce the same output, because we ignore the UNINTERESTING
flag when walking the index in the second example.

Nobody noticed because this feature was added as a way for
tools like repack to increase their coverage of reachable
objects, meaning it would only be used like the first
example above.

But since it's user facing (and because the documentation
describes it "as if the objects are listed on the command
line"), we should make sure the negative case behaves
sensibly.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-02 20:49:52 +09:00
.github
Documentation Eighth batch for 2.20 2018-11-02 11:04:59 +09:00
block-sha1
builtin rebase: apply cocci patch 2018-11-02 11:04:59 +09:00
ci ci: add optional test variables 2018-10-19 09:21:28 +09:00
compat Merge branch 'cb/compat-mmap-is-private-read-only' 2018-10-30 15:43:49 +09:00
contrib Merge branch 'dl/mergetool-gui-option' 2018-10-30 15:43:49 +09:00
ewah ewah/ewok_rlw.h: add missing include (hdr-check) 2018-09-20 11:50:00 -07:00
git-gui
gitk-git
gitweb
mergetools
negotiator
perl
po
ppc
refs Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
sha1collisiondetection@232357eb2e
sha1dc
t rev-list: handle flags for --indexed-objects 2018-11-02 20:49:52 +09:00
templates
vcs-svn headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
xdiff
.clang-format editorconfig: indicate settings should be kept in sync 2018-10-09 18:34:15 +09:00
.editorconfig editorconfig: indicate settings should be kept in sync 2018-10-09 18:34:15 +09:00
.gitattributes
.gitignore Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
.gitmodules
.mailmap Merge branch 'jn/mailmap-update' 2018-10-16 16:16:01 +09:00
.travis.yml
.tsan-suppressions
COPYING
GIT-VERSION-GEN Git 2.19.1 2018-09-27 11:52:33 -07:00
INSTALL
LGPL-2.1
Makefile Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
README.md
RelNotes Declare that the next one will be named 2.20 2018-10-10 09:20:03 +09:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alias.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
alloc.c
alloc.h
apply.c Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
apply.h
archive-tar.c
archive-zip.c userdiff.c: remove implicit dependency on the_index 2018-09-21 09:50:58 -07:00
archive.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
archive.h
argv-array.c
argv-array.h
attr.c
attr.h
banned.h
base85.c
bisect.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
bisect.h
blame.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
blame.h
blob.c
blob.h
branch.c
branch.h
builtin.h Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
bulk-checkin.c
bulk-checkin.h
bundle.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
bundle.h
cache-tree.c Merge branch 'jt/cache-tree-allow-missing-object-in-partial-clone' 2018-10-19 13:34:08 +09:00
cache-tree.h Merge branch 'nd/unpack-trees-with-cache-tree' 2018-09-17 13:53:53 -07:00
cache.h Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
chdir-notify.c
chdir-notify.h
check-builtins.sh
check-racy.c
check_bindir
checkout.c
checkout.h
color.c
color.h
column.c
column.h
combine-diff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
command-list.txt Merge branch 'du/cherry-is-plumbing' 2018-10-26 14:22:14 +09:00
commit-graph.c Merge branch 'ds/commit-graph-leakfix' 2018-10-19 13:34:07 +09:00
commit-graph.h Merge branch 'ds/commit-graph-with-grafts' 2018-10-16 16:15:59 +09:00
commit-reach.c Merge branch 'ds/reachable' 2018-10-30 15:43:47 +09:00
commit-reach.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
commit-slab-decl.h
commit-slab-impl.h commit-slabs: move MAYBE_UNUSED out 2018-10-24 14:52:50 +09:00
commit-slab.h
commit.c Merge branch 'pk/rebase-in-c-4-opts' 2018-11-02 11:04:55 +09:00
commit.h Merge branch 'pk/rebase-in-c-4-opts' 2018-11-02 11:04:55 +09:00
common-main.c
config.c Merge branch 'bp/read-cache-parallel' 2018-10-19 13:34:03 +09:00
config.h config: add new index.threads config setting 2018-10-11 15:32:48 +09:00
config.mak.dev Merge branch 'jk/unused-function' 2018-10-30 15:43:46 +09:00
config.mak.in
config.mak.uname mingw: bump the minimum Windows version to Vista 2018-10-04 05:39:56 -07:00
configure.ac
connect.c
connect.h
connected.c
connected.h connected: document connectivity in partial clones 2018-09-21 13:20:47 -07:00
convert.c
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c
date.c
decorate.c
decorate.h
delta-islands.c
delta-islands.h delta-islands.h: add missing forward declarations (hdr-check) 2018-09-20 11:50:43 -07:00
delta.h
detect-compiler
diff-delta.c
diff-lib.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
diff-no-index.c diff.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
diff.c Merge branch 'js/diff-notice-has-drive-prefix' 2018-10-30 15:43:45 +09:00
diff.h Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
diffcore-break.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
diffcore-delta.c diff.c: reduce implicit dependency on the_index 2018-09-21 09:48:10 -07:00
diffcore-order.c
diffcore-pickaxe.c userdiff.c: remove implicit dependency on the_index 2018-09-21 09:50:58 -07:00
diffcore-rename.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
diffcore.h diff.c: reduce implicit dependency on the_index 2018-09-21 09:48:10 -07:00
dir-iterator.c
dir-iterator.h
dir.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
dir.h
editor.c
entry.c
environment.c
exec-cmd.c
exec-cmd.h
fast-import.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
fetch-negotiator.c
fetch-negotiator.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
fetch-object.c
fetch-object.h
fetch-pack.c Merge branch 'tb/filter-alternate-refs' 2018-10-19 13:34:08 +09:00
fetch-pack.h fetch-pack: exclude blobs when lazy-fetching trees 2018-10-04 06:03:49 -07:00
fmt-merge-msg.h
fsck.c Merge branch 'jc/cocci-preincr' 2018-10-30 15:43:48 +09:00
fsck.h
fsmonitor.c
fsmonitor.h
fuzz-pack-headers.c fuzz: add basic fuzz testing target. 2018-10-15 14:28:59 +09:00
fuzz-pack-idx.c fuzz: add fuzz testing for packfile indices. 2018-10-15 14:29:03 +09:00
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-archimport.perl
git-bisect.sh
git-compat-util.h Merge branch 'cb/khash-maybe-unused-function' 2018-10-30 15:43:48 +09:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-filter-branch.sh
git-instaweb.sh
git-legacy-rebase.sh Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetool: accept -g/--[no-]gui as arguments 2018-10-25 14:01:10 +09:00
git-mergetool.sh mergetool: accept -g/--[no-]gui as arguments 2018-10-25 14:01:10 +09:00
git-p4.py git-p4: fully support unshelving changelists 2018-10-16 13:28:49 +09:00
git-parse-remote.sh
git-quiltimport.sh
git-rebase--am.sh
git-rebase--common.sh
git-rebase--merge.sh
git-rebase--preserve-merges.sh Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
git-remote-testgit.sh
git-request-pull.sh
git-send-email.perl send-email: also pick up cc addresses from -by trailers 2018-10-16 16:55:14 +09:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh
git-submodule.sh submodule: make zero-oid comparison hash function agnostic 2018-10-15 12:53:16 +09:00
git-svn.perl
git-web--browse.sh
git.c Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
git.rc
gpg-interface.c
gpg-interface.h
graph.c Merge branch 'np/log-graph-octopus-fix' 2018-10-26 14:22:11 +09:00
graph.h
grep.c userdiff.c: remove implicit dependency on the_index 2018-09-21 09:50:58 -07:00
grep.h userdiff.c: remove implicit dependency on the_index 2018-09-21 09:50:58 -07:00
hash.h
hashmap.c
hashmap.h
help.c help -a: improve and make --verbose default 2018-10-03 21:23:51 -07:00
help.h
hex.c
http-backend.c Merge branch 'ds/multi-pack-index' 2018-09-17 13:53:50 -07:00
http-fetch.c
http-push.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
http-walker.c
http.c
http.h
ident.c mingw: use domain information for default email 2018-10-16 12:59:57 +09:00
imap-send.c
interdiff.c
interdiff.h
iterator.h
json-writer.c
json-writer.h json-writer.h: add missing include (hdr-check) 2018-09-20 11:50:00 -07:00
khash.h khash: silence -Wunused-function for delta-islands 2018-10-24 14:52:50 +09:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
line-log.c line-range.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
line-log.h
line-range.c line-range.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
line-range.h line-range.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
linear-assignment.c
linear-assignment.h
list-objects-filter-options.c list-objects-filter: implement filter tree:0 2018-10-07 08:55:00 +09:00
list-objects-filter-options.h list-objects-filter: implement filter tree:0 2018-10-07 08:55:00 +09:00
list-objects-filter.c list-objects: support for skipping tree traversal 2018-10-18 12:49:18 +09:00
list-objects-filter.h Merge branch 'md/filter-trees' 2018-10-30 15:43:39 +09:00
list-objects.c Merge branch 'md/filter-trees' 2018-10-30 15:43:39 +09:00
list-objects.h
list.h
ll-merge.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
ll-merge.h ll-merge.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
lockfile.c
lockfile.h
log-tree.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
log-tree.h
ls-refs.c
ls-refs.h
mailinfo.c
mailinfo.h Merge branch 'rs/mailinfo-format-flowed' 2018-09-17 13:53:57 -07:00
mailmap.c
mailmap.h
match-trees.c
mem-pool.c
mem-pool.h
merge-blobs.c merge-blobs.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
merge-blobs.h merge-blobs.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
merge-recursive.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
merge-recursive.h
merge.c merge.c: remove implicit dependency on the_index 2018-09-21 09:48:10 -07:00
mergesort.c
mergesort.h
midx.c multi-pack-index: avoid dead store for struct progress 2018-10-19 11:16:53 +09:00
midx.h headers: normalize the spelling of some header guards 2018-10-18 13:39:35 +09:00
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
notes-merge.h
notes-utils.c
notes-utils.h
notes.c
notes.h
object-store.h
object.c
object.h Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
oidmap.c
oidmap.h
oidset.c oidset: uninline oidset_init() 2018-10-04 11:12:14 -07:00
oidset.h oidset: uninline oidset_init() 2018-10-04 11:12:14 -07:00
pack-bitmap-write.c Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
pack-bitmap.c Merge branch 'jk/pack-objects-with-bitmap-fix' 2018-09-17 13:53:58 -07:00
pack-bitmap.h
pack-check.c
pack-objects.c Merge branch 'js/pack-objects-mutex-init-fix' 2018-10-30 15:43:43 +09:00
pack-objects.h Merge branch 'js/pack-objects-mutex-init-fix' 2018-10-30 15:43:43 +09:00
pack-revindex.c pack-revindex: express constants in terms of the_hash_algo 2018-10-15 12:53:15 +09:00
pack-revindex.h
pack-write.c
pack.h
packfile.c Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
packfile.h fuzz: add fuzz testing for packfile indices. 2018-10-15 14:29:03 +09:00
pager.c
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
patch-ids.h patch-ids.c: remove implicit dependency on the_index 2018-09-21 09:48:11 -07:00
path.c
path.h
pathspec.c
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c Merge branch 'nd/status-refresh-progress' 2018-10-19 13:34:03 +09:00
pretty.c Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
pretty.h
prio-queue.c
prio-queue.h
progress.c
progress.h
prompt.c
prompt.h
protocol.c
protocol.h
quote.c
quote.h
range-diff.c range-diff: allow to diff files regardless of submodule config 2018-10-25 14:47:53 +09:00
range-diff.h
reachable.c
reachable.h
read-cache.c Merge branch 'sg/split-index-racefix' 2018-10-26 14:22:10 +09:00
rebase-interactive.c rebase -i: introduce the 'break' command 2018-10-12 23:03:04 +09:00
rebase-interactive.h
ref-filter.c Merge branch 'ot/ref-filter-plug-leaks' 2018-10-30 15:43:45 +09:00
ref-filter.h
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'ds/commit-graph-with-grafts' 2018-10-16 16:15:59 +09:00
refs.h Merge branch 'ds/commit-graph-with-grafts' 2018-10-16 16:15:59 +09:00
refspec.c
refspec.h
remote-curl.c Merge branch 'en/double-semicolon-fix' 2018-09-24 10:30:47 -07:00
remote-testsvn.c
remote.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
remote.h Merge branch 'ds/reachable' 2018-09-17 13:53:52 -07:00
replace-object.c Merge branch 'ds/commit-graph-with-grafts' 2018-10-16 16:15:59 +09:00
replace-object.h
repository.c
repository.h
rerere.c Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
rerere.h rerere.c: remove implicit dependency on the_index 2018-09-21 09:48:11 -07:00
resolve-undo.c
resolve-undo.h
revision.c rev-list: handle flags for --indexed-objects 2018-11-02 20:49:52 +09:00
revision.h Merge branch 'md/filter-trees' 2018-10-30 15:43:39 +09:00
run-command.c t0061: adjust to test-tool transition 2018-10-25 11:41:09 +09:00
run-command.h
send-pack.c
send-pack.h
sequencer.c Merge branch 'js/rebase-i-shortopt' 2018-11-02 11:04:59 +09:00
sequencer.h Merge branch 'ag/rebase-i-in-c' 2018-11-02 11:04:53 +09:00
serve.c
serve.h
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-file.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
sha1-lookup.c
sha1-lookup.h
sha1-name.c Merge branch 'jk/cocci' 2018-09-17 13:53:57 -07:00
sha1dc_git.c
sha1dc_git.h
shallow.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
shell.c
shortlog.h
sideband.c
sideband.h
sigchain.c
sigchain.h
split-index.c split-index: BUG() when cache entry refers to non-existing shared entry 2018-10-12 07:23:29 +09:00
split-index.h
strbuf.c Merge branch 'pk/rebase-in-c-3-acts' 2018-11-02 11:04:54 +09:00
strbuf.h Merge branch 'pk/rebase-in-c-3-acts' 2018-11-02 11:04:54 +09:00
streaming.c
streaming.h
string-list.c Merge branch 'sb/string-list-remove-unused' 2018-09-24 10:30:50 -07:00
string-list.h
sub-process.c
sub-process.h
submodule-config.c Sync with 2.19.1 2018-09-27 11:53:39 -07:00
submodule-config.h
submodule.c Merge branch 'sm/show-superproject-while-conflicted' 2018-10-19 13:34:04 +09:00
submodule.h submodule.c: remove implicit dependency on the_index 2018-09-21 09:51:18 -07:00
symlinks.c
tag.c tag: express constant in terms of the_hash_algo 2018-10-15 12:53:16 +09:00
tag.h
tar.h
tempfile.c
tempfile.h Merge branch 'jk/reopen-tempfile-truncate' 2018-09-24 10:30:46 -07:00
thread-utils.c
thread-utils.h
tmp-objdir.c
tmp-objdir.h
trace.c
trace.h
trailer.c
trailer.h Merge branch 'jk/trailer-fixes' 2018-09-17 13:53:54 -07:00
transport-helper.c transport: list refs before fetch if necessary 2018-10-07 09:53:19 +09:00
transport-internal.h transport: list refs before fetch if necessary 2018-10-07 09:53:19 +09:00
transport.c Merge branch 'bc/hash-transition-part-15' 2018-10-30 15:43:42 +09:00
transport.h transport: drop refnames from for_each_alternate_ref 2018-10-09 14:30:02 +09:00
tree-diff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unicode-width.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c unpack-trees: avoid dead store for struct progress 2018-10-19 11:16:52 +09:00
unpack-trees.h
upload-pack.c Merge branch 'jk/uploadpack-packobjectshook-fix' 2018-10-30 15:43:50 +09:00
upload-pack.h
url.c
url.h
urlmatch.c
urlmatch.h
usage.c
userdiff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
userdiff.h userdiff.c: remove implicit dependency on the_index 2018-09-21 09:50:58 -07:00
utf8.c
utf8.h
varint.c
varint.h
version.c
version.h
versioncmp.c
walker.c
walker.h
wildmatch.c
wildmatch.h
worktree.c
worktree.h
wrap-for-bin.sh
wrapper.c
write-or-die.c
ws.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
wt-status.c Merge branch 'ss/wt-status-committable' 2018-10-19 13:34:02 +09:00
wt-status.h roll wt_status_state into wt_status and populate in the collect phase 2018-10-03 23:38:20 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c

README.md

Git - fast, scalable, distributed revision control system

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 version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.

Please read the file INSTALL for installation instructions.

Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.

See Documentation/gittutorial.txt to get started, then see Documentation/giteveryday.txt for a useful minimum set of commands, and Documentation/git-.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>.

CVS users may also want to read Documentation/gitcvs-migration.txt (man gitcvs-migration or git help cvs-migration if git is installed).

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 (read Documentation/SubmittingPatches for instructions on patch submission). 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 https://public-inbox.org/git/, http://marc.info/?l=git and other archival sites.

Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.

The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.

The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (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