Merge branch 'jk/diff-blob'
The result from "git diff" that compares two blobs, e.g. "git diff $commit1:$path $commit2:$path", used to be shown with the full object name as given on the command line, but it is more natural to use the $path in the output and use it to look up .gitattributes. * jk/diff-blob: diff: use blob path for blob/file diffs diff: use pending "path" if it is available diff: use the word "path" instead of "name" for blobs diff: pass whole pending entry in blobinfo handle_revision_arg: record paths for pending objects handle_revision_arg: record modes for "a..b" endpoints t4063: add tests of direct blob diffs get_sha1_with_context: dynamically allocate oc->path get_sha1_with_context: always initialize oc->symlink_path sha1_name: consistently refer to object_context as "oc" handle_revision_arg: add handle_dotdot() helper handle_revision_arg: hoist ".." check out of range parsing handle_revision_arg: stop using "dotdot" as a generic pointer handle_revision_arg: simplify commit reference lookups handle_revision_arg: reset "dotdot" consistently
This commit is contained in:
@ -61,7 +61,8 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
||||
if (unknown_type)
|
||||
flags |= LOOKUP_UNKNOWN_OBJECT;
|
||||
|
||||
if (get_sha1_with_context(obj_name, 0, oid.hash, &obj_context))
|
||||
if (get_sha1_with_context(obj_name, GET_SHA1_RECORD_PATH,
|
||||
oid.hash, &obj_context))
|
||||
die("Not a valid object name %s", obj_name);
|
||||
|
||||
if (!path)
|
||||
@ -166,6 +167,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
|
||||
|
||||
write_or_die(1, buf, size);
|
||||
free(buf);
|
||||
free(obj_context.path);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user