X-Git-Url: https://iankelling.org/git/?p=iankelling.org;a=blobdiff_plain;f=gitweb-descriptions;h=b6fad5a6cf4e459481dd5cd004a4daf25b313d00;hp=34c797fc8ff220be137cebe7511e756c33dc59d4;hb=56cff87ea0949598b121518b7887cca1f99c619d;hpb=956d10ee358397728a058b51551ccd031c226c31 diff --git a/gitweb-descriptions b/gitweb-descriptions index 34c797f..b6fad5a 100755 --- a/gitweb-descriptions +++ b/gitweb-descriptions @@ -1,4 +1,18 @@ #!/bin/bash -l +# Copyright (C) 2016 Ian Kelling + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # my projects all have README or --help with a short single line # description which I parse and put into the gitweb description. @@ -20,6 +34,7 @@ gitroot=$1 cd $gitroot shopt -s extglob +shopt -s nullglob _git_desc_readme() { while read -r line; do @@ -32,25 +47,13 @@ _git_desc_readme() { done < README* } -dirs=() -for d in $gitroot/*; do - if [[ -d $d && ! -L $d ]]; then - for sub in $d/*; do - dirs+=($sub) - done - else - dirs+=($d) - fi -done - gitweb-descriptions() { for d in ${dirs[@]}; do - d=$(readlink -f $d) - cd $d/.. - e ${PWD##*/} - shopt -s nullglob + cd $(readlink -f $d)/.. + if [[ ${personalized[${d##*/}]} ]]; then + echo "$pcategory" >.git/category + fi f=(!(LICENSE|COPYING|README|.git)) - shopt -u nullglob if [[ ${#f[@]} == 1 && ! -d $f ]]; then if [[ ! -x $f ]]; then if [[ $f == *-function ]]; then @@ -59,11 +62,36 @@ gitweb-descriptions() { _git_desc_readme fi else - $f --help | sed -n '2p' > .git/description + ./$f --help | sed -n '2p' > .git/description fi else _git_desc_readme fi done } + +tmp=( + bashrc + automated-distro-installer + buildscripts + config-files + distro-setup + dot-emacs + fai-basefiles + ian-misc-bash + iankelling.org +) +declare -A personalized +for p in ${tmp[@]}; do personalized[$p]=true; done +pcategory="Personalized for my use. Useful as examples or to copy specific parts" + + +dirs=() +for d in $gitroot/*; do + if [[ ! -L $d ]]; then + continue + fi + dirs+=($d) +done + gitweb-descriptions "$@"