Re: [PATCH 1/1] diffcore: add a filter to find a specific blob
- From
Stefan Beller <sbeller@google.com>
- Date
- Dec 12, 2017, 00:21 UTC
- Message-ID
- <CAGZ79kaJgCchQKcRMkW-cjRmx_7eYQDqLs5GgDOgLEb1H=w-0g@mail.gmail.com>
- In-Reply-To
- <xmqqr2s04zxw.fsf@gitster.mtv.corp.google.com>
On Mon, Dec 11, 2017 at 3:17 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 9 quoted lines
> Stefan Beller <sbeller@google.com> writes: > >> the information to what is shown. For example: >> >> $ ./git log --oneline --blobfind=v2.0.0:Makefile >> b2feb64309 Revert the whole "ask curl-config" topic for now >> 47fbfded53 i18n: only extract comments marked with "TRANSLATORS:" > > This part is a bit stale???
fixed in the next reroll :(
Show 10 quoted lines
>> +--find-object=<object-id>:: >> + Restrict the output such that one side of the diff >> + matches the given object id. The object can be a blob, >> + or gitlink entry. > > OK. In principle you should also be able to find a tree, but I do > not now how useful it would be. Extending it to gitlink, which is > another kind of leaf node in the reachability DAG, does make tons of > sense---it's a no brainer that I feel ashamed not to have thought of > myself ;-)
The current patch under discussion doesn't find trees, though. Hence the documentation is accurate saying that only blobs and gitlinks work.
Show 7 quoted lines
> >> +LIB_OBJS += diffcore-oidfind.o > > Just to nitpick, but "blobfind" was to find "blob", and if you are > extending it to find any "object", then that should be "objfind". > "oid" is _A_ way to refer to an object (i.e. the _name_ of it), and > name is *not* the same as the thing the name refers to, so...
obj-find sounds good.
Show 11 quoted lines
>
>> +static int parse_oidfind_opt(struct diff_options *opt, const char *arg)
>> +{
>> + struct object_id oid;
>> +
>> + /* We don't even need to have the object, any oid works. */
>> + if (get_oid_blob(arg, &oid))
>> + return error("unable to resolve '%s'", arg);
>
> Should this still be get_oid_blob(), or should it be less specific
> to blobs?We could check if it is a tree/commit and die as they are not being handled correctly.