]> git.ipfire.org Git - thirdparty/git.git/commit - cache.h
convert: provide additional metadata to filters
authorbrian m. carlson <bk2204@github.com>
Mon, 16 Mar 2020 18:05:03 +0000 (18:05 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Mar 2020 18:37:02 +0000 (11:37 -0700)
commitc397aac02f9f97976f675115aa5df6ca01e26d59
treec643560e7d3acf29889cc23498029a8bc956cc5a
parentab90ecae992e44e3e8303f143ad858608acabcf5
convert: provide additional metadata to filters

Now that we have the codebase wired up to pass any additional metadata
to filters, let's collect the additional metadata that we'd like to
pass.

The two main places we pass this metadata are checkouts and archives.
In these two situations, reading HEAD isn't a valid option, since HEAD
isn't updated for checkouts until after the working tree is written and
archives can accept an arbitrary tree.  In other situations, HEAD will
usually reflect the refname of the branch in current use.

We pass a smaller amount of data in other cases, such as git cat-file,
where we can really only logically know about the blob.

This commit updates only the parts of the checkout code where we don't
use unpack_trees.  That function and callers of it will be handled in a
future commit.

In the archive code, we leak a small amount of memory, since nothing we
pass in the archiver argument structure is freed.

Signed-off-by: brian m. carlson <bk2204@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
archive.c
archive.h
builtin/cat-file.c
builtin/checkout.c
cache.h
convert.c
convert.h
diff.c
entry.c
t/t0021/rot13-filter.pl