From 6a23cb74c45e9f256802422d1b05162781e86930 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 23 Mar 2008 12:18:23 +0100 Subject: [PATCH] Tweak "gnulib --version" output. --- ChangeLog | 6 ++++++ gnulib-tool | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index c34d25dee..7e2b4d626 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-23 Bruno Haible + + Tweak "gnulib --version" output. + * gnulib-tool (func_version): Use date of last commit to ChangeLog, + rather than contents of ChangeLog, when possible. + 2008-03-21 Eric Blake More --version tweaks. diff --git a/gnulib-tool b/gnulib-tool index be206e7f7..a86e4eed7 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -195,11 +195,39 @@ Report bugs to ." func_version () { func_gnulib_dir - date=`sed 's/ .*//;q' "$gnulib_dir"/ChangeLog` - version=`"$gnulib_dir"/build-aux/git-version-gen /dev/null` + if test -d "$gnulib_dir"/.git \ + && (git --version) >/dev/null 2>/dev/null \ + && (date --version) >/dev/null 2>/dev/null; then + # gnulib checked out from git. + sed_extract_first_date='/^Date/{ +s/^Date:[ ]*//p +q +}' + date=`cd "$gnulib_dir" && git log ChangeLog | sed -n -e "$sed_extract_first_date"` + # Turn "Fri Mar 21 07:16:51 2008 -0600" into "Mar 21 2008 07:16:51 -0600". + sed_year_before_time='s/^[^ ]* \([^ ]*\) \([0-9]*\) \([0-9:]*\) \([0-9]*\) /\1 \2 \4 \3 /' + date=`echo "$date" | sed -e "$sed_year_before_time"` + # Use GNU date to compute the time in GMT. + date=`date -d "$date" -u +"%Y-%m-%d %H:%M:%S"` + version=' '`"$gnulib_dir"/build-aux/git-version-gen /dev/null` + else + if test -d "$gnulib_dir"/CVS \ + && (cvs --version) >/dev/null 2>/dev/null; then + # gnulib checked out from CVS. + sed_extract_first_date='/^date: /{ +s/^date: \([0-9][0-9][0-9][0-9]\).\([0-9][0-9]\).\([0-9][0-9]\) \([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1-\2-\3 \4/p +q +}' + date=`cd "$gnulib_dir" && cvs log -N ChangeLog 2>/dev/null | sed -n -e "$sed_extract_first_date"` + else + # gnulib copy without versioning information. + date=`sed -e 's/ .*//;q' "$gnulib_dir"/ChangeLog` + fi + version= + fi year=`"$gnulib_dir"/build-aux/mdate-sh "$self_abspathname" | sed 's,^.* ,,'` echo "\ -gnulib-tool (GNU $package $date) $version +gnulib-tool (GNU $package $date)$version Copyright (C) $year Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. -- 2.11.0