changeset 15649:c3688869c2e5

Generate the version string with awk on BSD systems and work around wrong day/month order in the ls output. based on a patch by Chris Roccati <roccati - at - pobox - dot - com>
author diego
date Sun, 05 Jun 2005 17:38:10 +0000
parents 3cc7c23f6f32
children 5c5219508907
files version.sh
diffstat 1 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/version.sh	Sun Jun 05 16:03:46 2005 +0000
+++ b/version.sh	Sun Jun 05 17:38:10 2005 +0000
@@ -18,14 +18,17 @@
      Darwin|*BSD) 
 	# BSD 'date -r' does not print modification time
 	# LC_ALL=C sets month/day order and English language in the date string
-	LS=`LC_ALL=C ls -lT CVS/Entries`
-	year=`echo $LS | cut -d' ' -f9 | cut -c 3-4`
-	month=`echo $LS | awk -F" " '{printf "%.2d", \
-		(index("JanFebMarAprMayJunJulAugSepOctNovDec",$6)+2)/3}'`
-	day=`printf %.2d \` echo $LS | cut -d' ' -f7 \` `
-	hour=`echo $LS | cut -d' ' -f8 | cut -d: -f1`
-	minute=`echo $LS | cut -d' ' -f8 | cut -d: -f2`
-	last_cvs_update="${year}${month}${day}-${hour}:${minute}"
+	# The if in the awk call works around wrong day/month order.
+	last_cvs_update=`LC_ALL=C ls -lT CVS/Entries | \
+	  awk '{ \
+	    day=$7; \
+	    month=index(" JanFebMarAprMayJunJulAugSepOctNovDec", $6); \
+	    if(month==0) { \
+	      day=$6; \
+	      month=index(" JanFebMarAprMayJunJulAugSepOctNovDec",$7); } \
+	    printf("%s%.02d%.02d-%s", \
+	      substr($9, 3, 2), (month+1)/3, day, substr($8, 0, 5)); \
+	  }'`
 	;;
      *)
 	last_cvs_update=`date +%y%m%d-%H:%M`