Browse Source

svnlog.sh moved to grass-addons/tools

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@70754 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 7 years ago
parent
commit
561f395461
1 changed files with 0 additions and 133 deletions
  1. 0 133
      tools/svnlog.sh

+ 0 - 133
tools/svnlog.sh

@@ -1,133 +0,0 @@
-#!/bin/sh
-
-############################################################################
-#
-# MODULE:       svnlog.sh
-# AUTHOR(S):    Huidae Cho <grass4u gmail.com>
-# PURPOSE:      Create a combined log message from all or specified SVN
-#		revisions for backporting and release news
-# COPYRIGHT:    (C) 2017 by Huidae Cho
-#               and the GRASS Development Team
-#
-#               This program is free software under the GNU General
-#               Public License (>=v2). Read the file COPYING that
-#               comes with GRASS for details.
-#
-#############################################################################
-
-user=""
-compact=0
-prefix="revision"
-get_user=0
-get_prefix=0
-
-# collect revision numbers from command line arguments, if any
-# e.g., r70666, r70637 => -r70666 -r70637
-revs=""
-for i; do
-	if [ "$i" = "-h" -o "$i" = "--help" ]; then
-		cat<<EOT
-Usage: svnlog.sh [OPTION]... [REVISION]...
-
-Options:
-  -h, --help           print this help
-  -u, --user USER      search for revisions by USERs separated by a comma
-  -c, --compact        print compact log messages; used with --prefix
-  -p, --prefix PREFIX  print PREFIX followed by a space and the revision number;
-                       print no space if PREFIX is empty; used with --compact
-EOT
-		exit
-	fi
-	if [ "$i" = "-u" -o "$i" = "--user" ]; then
-		get_user=1
-		continue
-	fi
-	if [ $get_user -eq 1 ]; then
-		user=`echo $i | sed 's/^/^(/; s/,/|/g; s/$/)$/'`
-		get_user=0
-		continue
-	fi
-	if [ "$i" = "-c" -o "$i" = "--compact" ]; then
-		compact=1
-		continue
-	fi
-	if [ "$i" = "-p" -o "$i" = "--prefix" ]; then
-		get_prefix=1
-		continue
-	fi
-	if [ $get_prefix -eq 1 ]; then
-		prefix=`echo $i`
-		get_prefix=0
-		continue
-	fi
-	# remove any non-numeric characters
-	r=`echo $i | sed 's/[^0-9]//g'`
-	if [ "$r" = "" ]; then
-		continue
-	fi
-	# prepare svn log options
-	revs="$revs -r$r"
-done
-
-if [ "$prefix" != "" ]; then
-	prefix="$prefix "
-fi
-
-# retreive and combine log messages
-svn log $revs |
-awk \
-	--assign user="$user" \
-	--assign compact=$compact \
-	--assign prefix="$prefix" \
-'BEGIN{
-	any = 0
-}
-/^------------------------------------------------------------------------$/{
-	if(compact && rev != ""){
-		gsub(/^[ \t\n]+|[ \t\n]+$/, "", msg)
-		nlines = split(msg, lines, /\n/)
-		if(nlines == 0)
-			printf "No log message (" prefix "%s)\n", rev
-		else if(nlines == 1)
-			printf "%s (" prefix "%s)\n", msg, rev
-		else{
-			# add separators for multiple lines
-			if(!prev_multi)
-				printf "%s\n", $0
-			printf "%s\n(" prefix "%s)\n%s\n", msg, rev, $0
-		}
-		prev_multi = nlines > 1
-	}
-	started = 1
-	sep = $0
-	rev = msg = ""
-	next
-}
-{
-	if(started){
-		started = 0
-		if(user == "" || $3 ~ user){
-			any = 1
-			skip = 0
-			if(compact)
-				rev = $1
-			else{
-				print sep
-				print
-				print ""
-			}
-		}else
-			skip = 1
-		getline
-		next
-	}else if(!skip){
-		if(compact)
-			msg = msg $0 "\n"
-		else
-			print
-	}
-}
-END{
-	if(!compact && any)
-		print sep
-}'