creation : utility for enabling keyword substitution
[infrastructure.git] / scripts / svn-keywords.sh
1 #!/bin/bash
2 # $Id$
3
4 COMMAND=$(basename $0)
5
6
7 usage () {
8
9    echo "Usage: $COMMAND keywords"
10    exit 1
11
12 }
13
14 [[ -z "$@" ]] && usage
15 keywords="$@"
16
17 for keyword in $keywords ; do
18
19   echo -n "Gathering files under subversion containing the keyword $keyword "
20   files=$(grep -l '$'"$keyword"':' $(svn list -R))
21   echo Done
22
23   for file in $files ; do
24
25     echo -n "$file "
26
27     if [ ! -f $file ] ; then
28       echo "NOT FOUND - skipped"
29       continue
30     fi
31     
32     current_keywords=$(svn propget svn:keywords $file)
33     has_keyword=$(echo $current_keywords | grep $keyword)
34
35 # dbg
36 #    echo ck=$current_keywords -- hk=$has_keyword
37 #    continue
38
39     if [ -z $has_keyword ] ; then
40       echo "+$keyword"
41       svn propset svn:keywords "$current_keywords $keyword" $file
42     else
43       echo "="
44     fi
45   done
46
47 done