This replaces the last patch of origin/sb/describe-blob.
Interdiff is below.
I chose to not mention options at all, as currently none are applicable;
Check for options and tell the user by die()ing that we don't know about
the options for blobs.
Thanks,
Stefan
builtin/describe.c: describe a blob
Documentation/git-describe.txt | 13 +++++++-
builtin/describe.c | 71 ++++++++++++++++++++++++++++++++++++++----
t/t6120-describe.sh | 15 +++++++++
3 files changed, 92 insertions(+), 7 deletions(-)
--
2.15.0.128.gcadd42da22
diff --git c/Documentation/git-describe.txt w/Documentation/git-describe.txt
index 79ec0be62a..a25443ca91 100644
--- c/Documentation/git-describe.txt
+++ w/Documentation/git-describe.txt
@@ -11,7 +11,7 @@ SYNOPSIS
[verse]
'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] [<commit-ish>...]
'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]
-'git describe' [<options>] <blob>
+'git describe' <blob>
DESCRIPTION
-----------
diff --git c/builtin/describe.c w/builtin/describe.c
index cf08bef344..acfd853a30 100644
--- c/builtin/describe.c
+++ w/builtin/describe.c
@@ -501,9 +501,13 @@ static void describe(const char *arg, int last_one)
if (cmit)
describe_commit(&oid, &sb);
- else if (lookup_blob(&oid))
+ else if (lookup_blob(&oid)) {
+ if (all || tags || longformat || first_parent ||
+ patterns.nr || exclude_patterns.nr ||
+ always || dirty || broken)
+ die(_("options not available for describing blobs"));
describe_blob(oid, &sb);
- else
+ } else
die(_("%s is neither a commit nor blob"), arg);
puts(sb.buf);