[SM-Discuss] update-history: a script for very-very-lazy gurus

"Andraž 'ruskie' Levstik" ruskie at codemages.net
Sun Mar 30 07:57:14 EDT 2008


On 13:25:57 2008-03-30 Ismael Luceno <ismael.luceno at gmail.com> wrote:
> Hi lazy people (if you're not lazy, don't read this e-mail :P).
> 
> The following script will make your life even easier, updating
> HISTORY for you. Next week I will write a script to tie the laces of
> your shoes :P.
> 
> 
> #!/bin/sh
> [ $# = 0 ] && {
>     echo "Usage: $0 <msg> [file]..."
>     exit
> }
> 
> MSG="$1"; shift
> 
> DATE="`date --rfc-3339=date`"
> NAME="`git-config --get user.name`"
> EMAIL="`git-config --get user.email`"
> 
> PREVDIR= 
> FILES= 
> 
> { git-ls-files -m -d "$@"; echo; } | while read FILE; do
>     DIR="`dirname "$FILE"`"
> 
>     if [ -n "$PREVDIR" -a "$PREVDIR" != "$DIR" ]; then
>         mv "$PREVDIR/HISTORY" "$PREVDIR/HISTORY.old"
>         FILES="`echo "$FILES" | sed 's/^, //'`"
> 
>         cat > "$PREVDIR/HISTORY" << EOF
> $DATE  $NAME <$EMAIL>
>     * $FILES: $MSG
> 
> EOF
>         cat "$PREVDIR/HISTORY.old" >> "$PREVDIR/HISTORY"
>         rm -f "$PREVDIR/HISTORY.old"
>         FILES= 
>     fi
> 
>     FILES="$FILES, `basename "$FILE"`"
>     PREVDIR="$DIR"
> done
> 
> --  
> Ismael Luceno

quill does all this and more :)



More information about the SM-Discuss mailing list