On Mon, Dec 11, 2017 at 3:17 PM, Junio C Hamano [off-list ref] wrote:
Stefan Beller [off-list ref] writes:
quoted
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 :(
quoted
+--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.
quoted
+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.
quoted
+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.