diff --git a/configure.ac b/configure.ac
index 9bbe89f..fb6efd7 100755
--- a/configure.ac
+++ b/configure.ac
@@ -21,6 +21,7 @@
 AM_INIT_AUTOMAKE(1.6)
 AM_CONFIG_HEADER(config.h)
 
+AC_PATH_PROG(PERL, perl)
 AC_CHECK_PROG([GAWK],[gawk],[gawk],[not-in-PATH])
 if test "x$GAWK" = "xnot-in-PATH" ; then
 	AC_MSG_ERROR([GNU awk is required for lib/memtype.h made by memtypes.awk.
@@ -192,6 +193,12 @@
 AC_ARG_WITH(pkg-extra-version,
 	AS_HELP_STRING([--with-pkg-extra-version=VER], [add extra version field, for packagers/distributions]),
 	[EXTRAVERSION=$withval],)
+AC_ARG_WITH(pkg-git-version,
+	AS_HELP_STRING([--with-pkg-git-version], [add git information to MOTD and build version string]),
+	[ if test "x$withval" != "xno"; then
+		with_pkg_git_version="1"
+		AC_DEFINE(GIT_VERSION, [1], [include git version info])
+	fi ],)
 AC_ARG_ENABLE(vtysh,
 [  --enable-vtysh          include integrated vty shell for Quagga])
 AC_ARG_ENABLE(ipv6,
@@ -398,11 +405,13 @@
 dnl name, string and version fields.
 dnl -----------------------------------
 if test "x${EXTRAVERSION}" != "x" ; then
-  VERSION=${VERSION}${EXTRAVERSION}
-  PACKAGE_VERSION=${PACKAGE_VERSION}${EXTRAVERSION}
-  PACKAGE_STRING=${PACKAGE_STRING}${EXTRAVERSION}
+  VERSION="${VERSION}${EXTRAVERSION}"
+  PACKAGE_VERSION="${PACKAGE_VERSION}${EXTRAVERSION}"
+  PACKAGE_STRING="${PACKAGE_STRING}${EXTRAVERSION}"
 fi
 
+AM_CONDITIONAL([GIT_VERSION], [test "x$with_pkg_git_version" != "x"])
+
 dnl ------------------------------------
 dnl Check C keywords and standard  types
 dnl ------------------------------------
@@ -611,7 +620,6 @@
 case "${enable_vtysh}" in
   "yes") VTYSH="vtysh";
          AC_DEFINE(VTYSH,,VTY shell)
-	 AC_PATH_PROG(PERL, perl)
 dnl	 Vtysh uses libreadline, which looks for termcap functions at
 dnl	 configure time.  We follow readlines search order.
 dnl	 The required procedures are in libtermcap on NetBSD, in
diff --git a/lib/.gitignore b/lib/.gitignore
index 00af85a..02aa432 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -5,6 +5,8 @@
 *.la
 version.c
 version.h
+gitversion.h
+gitversion.h.tmp
 .deps
 .nfs*
 .libs
diff --git a/lib/Makefile.am b/lib/Makefile.am
index e00ad54..690c18f 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -14,7 +14,7 @@
 	zclient.c sockopt.c smux.c agentx.c snmp.c md5.c if_rmap.c keychain.c privs.c \
 	sigevent.c pqueue.c jhash.c memtypes.c workqueue.c
 
-BUILT_SOURCES = memtypes.h route_types.h
+BUILT_SOURCES = memtypes.h route_types.h gitversion.h
 
 libzebra_la_DEPENDENCIES = @LIB_REGEX@
 
@@ -36,3 +36,25 @@
 
 route_types.h: $(srcdir)/route_types.txt $(srcdir)/route_types.pl
 	@PERL@ $(srcdir)/route_types.pl < $(srcdir)/route_types.txt > $@
+
+if GIT_VERSION
+
+# bit of a trick here to always have up-to-date git stamps without triggering
+# unneccessary rebuilds.  .PHONY causes the .tmp file to be rebuilt always,
+# but if we use that on gitversion.h it'll ripple through the .c file deps.
+# (even if gitversion.h's file timestamp doesn't change, make will think it
+# did, because of .PHONY...)
+
+.PHONY: gitversion.h.tmp
+.SILENT: gitversion.h gitversion.h.tmp
+GITH=gitversion.h
+gitversion.h.tmp: $(srcdir)/../.git
+	@PERL@ $(srcdir)/gitversion.pl $(srcdir) > ${GITH}.tmp
+gitversion.h: gitversion.h.tmp
+	{ test -f ${GITH} && diff -s -q ${GITH}.tmp ${GITH}; } || cp -v ${GITH}.tmp ${GITH}
+
+else
+.PHONY: gitversion.h
+gitversion.h:
+	/bin/true
+endif
diff --git a/lib/command.c b/lib/command.c
index 64563b5..3b3fada 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -84,7 +84,7 @@
 "\r\n\
 Hello, this is " QUAGGA_PROGNAME " (version " QUAGGA_VERSION ").\r\n\
 " QUAGGA_COPYRIGHT "\r\n\
-\r\n";
+" GIT_INFO "\r\n";
 
 
 static const struct facility_map {
@@ -2409,7 +2409,7 @@
 {
   vty_out (vty, "Quagga %s (%s).%s", QUAGGA_VERSION, host.name?host.name:"",
 	   VTY_NEWLINE);
-  vty_out (vty, "%s%s", QUAGGA_COPYRIGHT, VTY_NEWLINE);
+  vty_out (vty, "%s%s%s", QUAGGA_COPYRIGHT, GIT_INFO, VTY_NEWLINE);
 
   return CMD_SUCCESS;
 }
diff --git a/lib/gitversion.pl b/lib/gitversion.pl
new file mode 100644
index 0000000..448f13d
--- /dev/null
+++ b/lib/gitversion.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $dir = shift;
+chdir $dir || die "$dir: $!\n";
+
+my $gitdesc = `git describe --always --dirty || echo -- \"0-gUNKNOWN\"`;
+chomp $gitdesc;
+my $gitsuffix = ($gitdesc =~ /([0-9a-fA-F]{7}(-dirty)?)$/) ? $1 : "-gUNKNOWN";
+
+printf STDERR "git suffix: %s\n", $gitsuffix;
+printf "#define GIT_SUFFIX \"%s\"\n", $gitsuffix;
+
+my $gitcommit = `git log -1 --format=\"%H\" || echo DEADBEEF`;
+chomp $gitcommit;
+open(BRANCHES, "git branch -a -v --abbrev=40|") || die "git branch: $!\n";
+my @names = ();
+while (<BRANCHES>) {
+	chomp $_;
+	if (/\s+(.*?)\s+$gitcommit/) {
+		my $branch = $1;
+		if ($branch =~ /^remotes\/(.*?)(\/.*)$/) {
+			my $path = $2;
+			my $url = `git config --get "remote.$1.url"`;
+			chomp $url;
+			$url =~ s/^(git:|https?:|git@)\/\/github\.com/github/i;
+			$url =~ s/^(ssh|git):\/\/git\.sv\.gnu\.org\/srv\/git\//savannah:/i;
+			$url =~ s/^(ssh|git):\/\/git\.savannah\.nongnu\.org\//savannah:/i;
+
+			push @names, $url.$path;
+		} else {
+			push @names, 'local:'.$branch;
+		}
+	}
+}
+
+printf STDERR "git branches: %s\n", join(", ", @names);
+
+my $cr = "\\r\\n\\";
+printf <<EOF, $gitdesc, join($cr."\n\\t", @names);
+#define GIT_INFO "$cr
+This is a git build of %s$cr
+Associated branch(es):$cr
+\\t%s$cr
+"
+EOF
+
diff --git a/lib/version.h.in b/lib/version.h.in
index 429474d..7e9985f 100644
--- a/lib/version.h.in
+++ b/lib/version.h.in
@@ -24,9 +24,20 @@
 #ifndef _ZEBRA_VERSION_H
 #define _ZEBRA_VERSION_H
 
+#ifdef GIT_VERSION
+#include "gitversion.h"
+#endif
+
+#ifndef GIT_SUFFIX
+#define GIT_SUFFIX ""
+#endif
+#ifndef GIT_INFO
+#define GIT_INFO ""
+#endif
+
 #define QUAGGA_PROGNAME   "@PACKAGE_NAME@"
 
-#define QUAGGA_VERSION     "@PACKAGE_VERSION@"
+#define QUAGGA_VERSION     "@PACKAGE_VERSION@" GIT_SUFFIX
 
 #define ZEBRA_BUG_ADDRESS "@PACKAGE_BUGREPORT@"
 
