tFixed a few things and changed script name - scripts - various script and utils
 (HTM) git clone git://z3bra.org/scripts
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 80deaeecce8a1ae57fd7da94362e0ed63c759716
 (DIR) parent bb191f3b046103d11002530a4e48373170e9a6dd
 (HTM) Author: z3bra <willy@mailoo.org>
       Date:   Mon,  2 Jun 2014 16:20:20 +0200
       
       Fixed a few things and changed script name
       
       Diffstat:
         A hm                                  |     148 +++++++++++++++++++++++++++++++
         D hmgr                                |     148 -------------------------------
       
       2 files changed, 148 insertions(+), 148 deletions(-)
       ---
 (DIR) diff --git a/hm b/hm
       t@@ -0,0 +1,148 @@
       +#!/bin/sh
       +#
       +# z3bra - (c) wtfpl 2014
       +# Manage your config.h files on a per program basis. Store defaults and user
       +# configs, and restore them easily.
       +
       +# Directory where configs are saved
       +basedir=~/.hm.d
       +
       +# Default names for configs
       +default=config.def.h
       +
       +# How to list files managed by hmgr
       +#listcmd='ls -1 --color=auto'
       +listcmd='tree -L 1 --noreport'
       +
       +# Change output colors ?
       +color_conf='1;37' # colors for config files
       +color_dirs='0;33' # colors for directory names
       +
       +
       +usage() {
       +echo "usage: $(basename $0) [-hu] [-l [dir]] [-di <file>] [-csr <dir>/<name>]"
       +
       +test -z "$1" && return
       +
       +cat <<EOF
       +    -h              : help
       +    -u              : shortcut for -n ${USER}.h
       +
       +    -l [dir]        : list currently managed applications/files
       +
       +    -d <dir>/<name> : remove <name> from managed configs
       +    -i <file>       : input file to use (defaults to ./config.h)
       +
       +    -c <dir>        : check which config is in use
       +    -s <dir>/<name> : store \`config.h\` to <dir>/<name>
       +    -r <dir>/<name> : restore \`config.h\` from <dir>/<name>
       +EOF
       +}
       +
       +store() {
       +    test -z "$1" && return 1
       +
       +    # check if the user gave a filename or not
       +    # and deduct filepath from that
       +    if test `dirname $1` = '.'; then
       +        dir=$1
       +        filepath=${basedir}/${dir}/${default}
       +    else
       +        dir=`dirname $1`
       +        filepath=${basedir}/$1
       +    fi
       +
       +    # create directory if it does not exist
       +    test ! -d ${basedir}/${dir} && mkdir -p ${basedir}/${dir}
       +
       +    # Copy from current dir to base directory
       +    cp -i ${cin} ${filepath}
       +}
       +
       +restore() {
       +    test -z "$1" && return 1
       +
       +    if test -f ${basedir}/$1; then
       +        filepath=${basedir}/$1
       +    else
       +        filepath=${basedir}/$1/${default}
       +    fi
       +
       +    # Copy from base dir to current directory
       +    cp ${filepath} ${cin}
       +}
       +
       +list() {
       +
       +    # Go to the base directory
       +    cd ${basedir}
       +
       +    ${listcmd} $1
       +}
       +
       +check() {
       +    found=0
       +
       +    test ! -f ${cin} && echo "cannot find file ${cin}" && exit 1
       +
       +    for dir in ${basedir}/* ; do
       +        for file in ${dir}/*; do
       +            if diff $file ${cin} >/dev/null 2>&1; then
       +                echo -en "${fgd}`basename ${dir}`${nofg}/"
       +                echo -e  "${fgh}`basename ${file}`${nofg}"
       +                found=1
       +            fi
       +        done
       +    done
       +    test ${found} -eq 0 && echo ${cin} is different from stored configs
       +}
       +
       +# No arguments? give usage
       +test $# -eq 0 && list && exit 0
       +
       +# Create $basedir if it does not exists
       +test ! -d ${basedir} && mkdir -p ${basedir}
       +
       +# Set the default file names
       +cin=config.h
       +list=0
       +
       +# standardize colors for shell output
       +fgd="\e[${color_dirs}m"
       +fgh="\e[${color_conf}m"
       +nofg="\e[0m"
       +
       +# change colors, for fun!
       +LS_COLORS="di=${color_dirs}:*.h=${color_conf}"
       +export LS_COLORS
       +
       +# Parse options
       +while getopts "chi:ld:s:r:u" opt; do
       +    case $opt in
       +        # Check which config is in use
       +        c) check;;
       +
       +        # Wipe the config given as argument
       +        d) rm ${basedir}/$OPTARG;;
       +
       +        # Change the input file
       +        i) cin=$OPTARG;;
       +
       +        # List currently managed config.h
       +        l) list=1; break;;
       +
       +        # Whether to store or restore a config.h
       +        s) store $OPTARG;;
       +        r) restore $OPTARG;;
       +
       +        # WHAAT?!
       +        h) usage full; exit 0;;
       +        *) usage; exit 1;;
       +    esac
       +done
       +
       +# In case we want to list files managed...
       +shift $(( OPTIND - 1 ))
       +
       +# List either the whole dir or a specific one
       +test $list -eq 1 && list $1
 (DIR) diff --git a/hmgr b/hmgr
       t@@ -1,148 +0,0 @@
       -#!/bin/sh
       -#
       -# z3bra - (c) wtfpl 2014
       -# Manage your config.h files on a per program basis. Store defaults and user
       -# configs, and restore them easily.
       -
       -# Directory where configs are saved
       -basedir=~/.hmgr.d
       -
       -# Default names for configs
       -default=config.def.h
       -
       -# How to list files managed by hmgr
       -#listcmd='ls -1 --color=auto'
       -listcmd='tree -L 1 --noreport'
       -
       -# Change output colors ?
       -color_conf='1;37' # colors for config files
       -color_dirs='0;33' # colors for directory names
       -
       -
       -usage() {
       -echo "usage: $(basename $0) [-hu] [-l [dir]] [-di <file>] [-csr <dir>/<name>]"
       -
       -test -z "$1" && return
       -
       -cat <<EOF
       -    -h              : help
       -    -u              : shortcut for -n ${USER}.h
       -
       -    -l [dir]        : list currently managed applications/files
       -
       -    -d <dir>/<name> : remove <name> from managed configs
       -    -i <file>       : input file to use (defaults to ./config.h)
       -
       -    -c <dir>        : check which config is in use
       -    -s <dir>/<name> : store \`config.h\` to <dir>/<name>
       -    -r <dir>/<name> : restore \`config.h\` from <dir>/<name>
       -EOF
       -}
       -
       -store() {
       -    test -z "$1" && return 1
       -
       -    # check if the user gave a filename or not
       -    # and deduct filepath from that
       -    if test `dirname $1` = '.'; then
       -        dir=$1
       -        filepath=${basedir}/${dir}/${default}
       -    else
       -        dir=`dirname $1`
       -        filepath=${basedir}/$1
       -    fi
       -
       -    # create directory if it does not exist
       -    test ! -d ${basedir}/${dir} && mkdir -p $dir
       -
       -    # Copy from current dir to base directory
       -    cp -i ${cin} ${filepath}
       -}
       -
       -restore() {
       -    test -z "$1" && return 1
       -
       -    if test -f ${basedir}/$1; then
       -        filepath=${basedir}/$1
       -    else
       -        filepath=${basedir}/$1/${default}
       -    fi
       -
       -    # Copy from base dir to current directory
       -    cp ${filepath} ${cin}
       -}
       -
       -list() {
       -
       -    # Go to the base directory
       -    cd ${basedir}
       -
       -    ${listcmd} $1
       -}
       -
       -check() {
       -    found=0
       -
       -    test ! -f ${cin} && echo "cannot find file ${cin}" && exit 1
       -
       -    for dir in ${basedir}/*; do
       -        for file in ${dir}/*; do
       -            if diff $file ${cin} >/dev/null; then
       -                echo -en "${fgd}`basename ${dir}`${nofg}: "
       -                echo -e  "${fgh}`basename ${file}`${nofg}"
       -                found=1
       -            fi
       -        done
       -    done
       -    test ${found} -eq 0 && echo ${cin} is different from stored configs
       -}
       -
       -# No arguments? give usage
       -test $# -eq 0 && list && exit 0
       -
       -# Create $basedir if it does not exists
       -test ! -d ${basedir} && mkdir ${basedir}
       -
       -# Set the default file names
       -cin=config.h
       -list=0
       -
       -# standardize colors for shell output
       -fgd="\e[${color_dirs}m"
       -fgh="\e[${color_conf}m"
       -nofg="\e[0m"
       -
       -# change colors, for fun!
       -LS_COLORS="di=${color_dirs}:*.h=${color_conf}"
       -export LS_COLORS
       -
       -# Parse options
       -while getopts "chi:ld:s:r:u" opt; do
       -    case $opt in
       -        # Check which config is in use
       -        c) check;;
       -
       -        # Wipe the config given as argument
       -        d) rm ${basedir}/$OPTARG;;
       -
       -        # Change the input file
       -        i) cin=$OPTARG;;
       -
       -        # List currently managed config.h
       -        l) list=1; break;;
       -
       -        # Whether to store or restore a config.h
       -        s) store $OPTARG;;
       -        r) restore $OPTARG;;
       -
       -        # WHAAT?!
       -        h) usage full; exit 0;;
       -        *) usage; exit 1;;
       -    esac
       -done
       -
       -# In case we want to list files managed...
       -shift $(( OPTIND - 1 ))
       -
       -# List either the whole dir or a specific one
       -test $list -eq 1 && list $1