chiark / gitweb /
Add "tg base" that prints the base version.
authorPer Cederqvist <ceder@lysator.liu.se>
Tue, 24 Aug 2010 18:32:05 +0000 (20:32 +0200)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 24 Aug 2010 18:51:05 +0000 (20:51 +0200)
Signed-off-by: Per Cederqvist <ceder@lysator.liu.se>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
.gitignore
README
tg-base.sh [new file with mode: 0644]

index 357de1f33f5c7c7b18117cc3307fb25fe762c417..0342e09845d5ff171a91ea80cef0221bbf255851 100644 (file)
@@ -12,6 +12,8 @@
 
 /hooks/pre-commit
 /tg
+/tg-base
+/tg-base.txt
 /tg-create
 /tg-create.txt
 /tg-delete
diff --git a/README b/README
index d7dfb5f6497ca03776f7c883b493e4a365332922..f103d925bce4d32ed8c342785f9ac9149570d73a 100644 (file)
--- a/README
+++ b/README
@@ -508,6 +508,21 @@ tg push
        repository.  By default the remote gets all dependencies
        (both tgish and non-tgish) and bases pushed to.
 
+tg base
+~~~~~~~
+       Prints the base commit of the current topic branch.  Silently
+       exits with exit code 1 if you are not working on a TopGit
+       branch.  The following command can be useful to get a summary
+       of the work you have made on a topic branch:
+
+               git log --first-parent --no-merges `tg base`..
+
+       (Note: if you have shared the TopGit branch, the above command
+       only lists the commits that were made in the current
+       repository, so you will not see work done by your
+       collaborators.)
+
+
 TODO: tg rename
 
 
diff --git a/tg-base.sh b/tg-base.sh
new file mode 100644 (file)
index 0000000..d28cac1
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+# TopGit - A different patch queue manager
+# (c) Petr Baudis <pasky@suse.cz>  2008
+# (c) Per Cederqvist <ceder@lysator.liu.se>  2010
+# GPLv2
+
+name="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')"
+base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" || exit 1
+echo $base_rev