X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=cat-file.c;h=d775a1545beb84caf05cae8980fb2d839240fdea;hb=edde7a8b5324d88f07fcb8204da313c19b4988fa;hp=0076fc5b20a71b4d32add42b8dcb76a22eea4ef6;hpb=f2a06330f0bc259b9c7faa029d2d4dace8f4956b;p=git.git diff --git a/cat-file.c b/cat-file.c index 0076fc5b..d775a154 100644 --- a/cat-file.c +++ b/cat-file.c @@ -12,12 +12,21 @@ int main(int argc, char **argv) void *buf; unsigned long size; + setup_git_directory(); if (argc != 3 || get_sha1(argv[2], sha1)) - usage("git-cat-file [-t | tagname] "); + usage("git-cat-file [-t | -s | ] "); - if (!strcmp("-t", argv[1])) { - if (!sha1_object_info(sha1, type, &size)) { - printf("%s\n", type); + if (!strcmp("-t", argv[1]) || !strcmp("-s", argv[1])) { + if (!sha1_object_info(sha1, type, + argv[1][1] == 's' ? &size : NULL)) { + switch (argv[1][1]) { + case 't': + printf("%s\n", type); + break; + case 's': + printf("%lu\n", size); + break; + } return 0; } buf = NULL;