git-name-rev: allow --name-only in combination with --stdin

Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
index ffac3f8..83d8e4a 100644
--- a/Documentation/git-name-rev.txt
+++ b/Documentation/git-name-rev.txt
@@ -38,8 +38,7 @@
 	Instead of printing both the SHA-1 and the name, print only
 	the name.  If given with --tags the usual tag prefix of
 	"tags/" is also omitted from the name, matching the output
-	of linkgit:git-describe[1] more closely.  This option
-	cannot be combined with --stdin.
+	of linkgit:git-describe[1] more closely.
 
 --no-undefined::
 	Die with error code != 0 when a reference is undefined,
diff --git a/builtin-name-rev.c b/builtin-name-rev.c
index b75c73b..ff7d638 100644
--- a/builtin-name-rev.c
+++ b/builtin-name-rev.c
@@ -204,8 +204,13 @@
 			if (!name)
 				continue;
 
-			fwrite(p_start, p - p_start + 1, 1, stdout);
-			printf(" (%s)", name);
+			if (data->name_only) {
+				fwrite(p_start, p - p_start + 1 - 40, 1, stdout);
+				printf(name);
+			} else {
+				fwrite(p_start, p - p_start + 1, 1, stdout);
+				printf(" (%s)", name);
+			}
 			p_start = p + 1;
 		}
 	}