From aa3342d900db6ec9fa08d359cdbb32b427466c3f Mon Sep 17 00:00:00 2001 From: thierry Date: Tue, 20 Mar 2007 12:31:31 +0000 Subject: [PATCH] reviewed svn-keywords for taking list of dirs - found new hit in scritps/dump-db-svn.sh --- scripts/svn-keywords.sh | 80 ++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 25 deletions(-) diff --git a/scripts/svn-keywords.sh b/scripts/svn-keywords.sh index 740a2a3..036e7fa 100755 --- a/scripts/svn-keywords.sh +++ b/scripts/svn-keywords.sh @@ -6,42 +6,72 @@ COMMAND=$(basename $0) usage () { - echo "Usage: $COMMAND keywords" + echo "Usage: $COMMAND keywords -- directories" exit 1 } [[ -z "$@" ]] && usage -keywords="$@" -for keyword in $keywords ; do +mode=keywords - echo -n "Gathering files under subversion containing the keyword $keyword " - files=$(grep -l '$'"$keyword" $(svn list -R)) - echo Done +while [[ "$@" ]] ; do - for file in $files ; do + case "$1" in + --) + mode=dirs ; shift ;; + *) + case $mode in + keywords) + keywords="$keywords $1" ; shift ;; + dirs) + dirs="$dirs $1" ; shift ;; + *) + usage ;; + esac + ;; + esac +done + +if [ "$mode" == keywords -o -z "$dirs" -o -z "$keywords" ] ; then + usage +fi + +here=$(pwd -P) + +for dir in $dirs; do + + cd $here + cd $dir + + echo "xxxxxxxxxxxxxxxxxxxx Working in $(pwd)" - echo -n "$file " + for keyword in $keywords ; do - if [ ! -f $file ] ; then - echo "NOT FOUND - skipped" - continue - fi + echo -n "xxxxxxxxxx Gathering files under subversion containing the keyword $keyword " + files=$(grep -l '$'"$keyword" $(svn list -R)) + echo Done - 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 + for file in $files ; do + + echo -n "$dir/$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) + + if [ -z "$has_keyword" ] ; then + echo "+$keyword" + svn propset svn:keywords "$current_keywords $keyword" $file + else + echo "=" + fi + done + done done -- 2.47.0