path: root/Documentation/git-name-rev.txt
diff options
authorJohannes Schindelin <>2005-10-26 13:10:20 (GMT)
committerJunio C Hamano <>2005-10-26 23:31:58 (GMT)
commitbd321bcc51e95f644ac5335abe673afcbcaade62 (patch)
tree063a1f66314a590f11dc419b31674ad7bc04714d /Documentation/git-name-rev.txt
parentf3123c4ab3d3698262e59561ac084de45b10365a (diff)
Add git-name-rev
git-name-rev tries to find nice symbolic names for commits. It does so by walking the commits from the refs. When the symbolic name is ambiguous, the following heuristic is applied: Try to avoid too many ~'s, and if two ambiguous names have the same count of ~'s, take the one whose last number is smaller. With "--tags", the names are derived only from tags. With "--stdin", the stdin is parsed, and after every sha1 for which a name could be found, the name is appended. (Try "git log | git name-rev --stdin".) Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-name-rev.txt')
1 files changed, 66 insertions, 0 deletions
diff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt
new file mode 100644
index 0000000..e37b0b8
--- /dev/null
+++ b/Documentation/git-name-rev.txt
@@ -0,0 +1,66 @@
+git-name-rev - Find symbolic names for given revs.
+'git-name-rev' [--tags] ( --all | --stdin | <commitish>... )
+Finds symbolic names suitable for human digestion for revisions given in any
+format parsable by git-rev-parse.
+ Do not use branch names, but only tags to name the commits
+ List all commits reachable from all refs
+ Read from stdin, append "(<rev_name>)" to all sha1's of name'able
+ commits, and pass to stdout
+Given a commit, find out where it is relative to the local refs. Say somebody
+wrote you about that phantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
+Of course, you look into the commit, but that only tells you what happened, but
+not the context.
+Enter git-name-rev:
+% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
+Now you are wiser, because you know that it happened 940 revisions before v0.99.
+Another nice thing you can do is:
+% git log | git name-rev --stdin
+Written by Johannes Schindelin <>
+Documentation by Johannes Schindelin.
+Part of the gitlink:git[7] suite