A few more options for git-cat-file
PATCH 1/1 A few more options for git-cat-file
This adds the following options to git-cat-file:
-n, to get the canonical name of a resource. This is for one thing useful in tagging scripts.
-e, to test for the existence of a file.
This also cleans up the option-parsing in git-cat-file slightly.
Documentation/git-cat-file.txt +16 -3
@@ -8,7 +8,7 @@ git-cat-file - Provide content or type i SYNOPSIS -------- -'git-cat-file' (-t | -s | <type>) <object> +'git-cat-file' (-t | -s | -n | -e | <type>) <object> DESCRIPTION -----------
@@ -29,6 +29,13 @@ OPTIONS Instead of the content, show the object size identified by <object>. +-n:: + Instead of the content, show the canoncical name of <object>. + +-e:: + Suppress all output; instead exit with zero status if <object> + exists and is a valid object. + <type>:: Typically this matches the real type of <object> but asking for a type that can trivially be dereferenced from the given
@@ -39,8 +46,14 @@ OPTIONS OUTPUT ------ -If '-t' is specified, one of the <type>. If '-s' is specified, -the size of the <object> in bytes. +If '-t' is specified, one of the <type>. + +If '-s' is specified, the size of the <object> in bytes. + +If '-n' is specified, the canoncial name (40-character SHA1 +hexadecimal string) of the object. + +If '-e' is specified, no output. Otherwise the raw (though uncompressed) contents of the <object> will be returned.
cat-file.c +35 -14
62 lines not on this page · raw message
Quoted 4 lines · H. Peter Anvin
This adds the following options to git-cat-file:
-n, to get the canonical name of a resource. This is for one thing useful in tagging scripts.
Isn't "git-rev-parse --verify" good enough?
Quoted 1 line
-e, to test for the existence of a file.
This might be useful and cleaner than "cat-file -s >/dev/null" but marginally so. While reading the whole file and discarding that to /dev/null is wasteful and would go against tastes of many people, -t and -s flags do not need to read the whole thing and not so expensive.
Quoted 10 lines · Junio C Hamano
Quoted 4 lines · H. Peter Anvin
This adds the following options to git-cat-file:
-n, to get the canonical name of a resource. This is for one thing useful in tagging scripts.
Isn't "git-rev-parse --verify" good enough?
Ah, yes. Except for the fact that I couldn't find it when I looked for a command that did that. git-rev-parse seems like an eclectic mixture of stuff, and the name isn't very clear as to what it does.
Quoted 8 lines
Quoted 2 lines
-e, to test for the existence of a file.
This might be useful and cleaner than "cat-file -s >/dev/null" but marginally so. While reading the whole file and discarding that to
/dev/nullis wasteful and would go against tastes of many people, -t and -s flags do not need to read the whole thing and not so expensive.
Still, -e as implemented here is definitely cheaper.
-hpa