creation : utility for enabling keyword substitution
authorthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Tue, 20 Mar 2007 11:57:40 +0000 (11:57 +0000)
committerthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Tue, 20 Mar 2007 11:57:40 +0000 (11:57 +0000)
scripts/svn-keywords.sh [new file with mode: 0755]

diff --git a/scripts/svn-keywords.sh b/scripts/svn-keywords.sh
new file mode 100755 (executable)
index 0000000..af76356
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/bash
+# $Id$
+
+COMMAND=$(basename $0)
+
+
+usage () {
+
+   echo "Usage: $COMMAND keywords"
+   exit 1
+
+}
+
+[[ -z "$@" ]] && usage
+keywords="$@"
+
+for keyword in $keywords ; do
+
+  echo -n "Gathering files under subversion containing the keyword $keyword "
+  files=$(grep -l '$'"$keyword"':' $(svn list -R))
+  echo Done
+
+  for file in $files ; do
+
+    echo -n "$file "
+
+    if [ ! -f $file ] ; then
+      echo "NOT FOUND - skipped"
+      continue
+    fi
+    
+    current_keywords=$(svn propget svn:keywords $file)
+    has_keyword=$(echo $current_keywords | grep $keyword)
+
+# dbg
+#    echo ck=$current_keywords -- hk=$has_keyword
+#    continue
+
+    if [ -z $has_keyword ] ; then
+      echo "+$keyword"
+      svn propset svn:keywords "$current_keywords $keyword" $file
+    else
+      echo "="
+    fi
+  done
+
+done