diff --git a/kicad-git-setup b/kicad-git-setup index bc34e0fe2de15f6058464b928d5ecbc172f9056b..4aef1bd6858dbe3d77f675b50284e3dfad163713 100755 --- a/kicad-git-setup +++ b/kicad-git-setup @@ -48,13 +48,27 @@ done FILTER=( "filter.kicad_pro.clean sed -E 's/^update=.*$/update=Date/'" ) FILTER+=( "filter.kicad_pro.smudge cat" ) FILTER+=( "filter.kicad_sch.clean sed -E 's/#(PWR|FLG)[0-9]+/#\1?/'" ) -FILTER+=( "filter.kicad_sch.smudge cat" ) +FILTER+=( "filter.kicad_sch.smudge cata" ) for f in "${FILTER[@]}" ; do if [[ "$f" =~ ([^\ ]+)[\ ]+(.*) ]] ; then KEY=${BASH_REMATCH[1]} VALUE=${BASH_REMATCH[2]} - if ! git config --get "${KEY}" > /dev/null ; then - git config "${KEY}" "${VALUE}" + CURRENT_GLOBAL=$(git config --global --get "${KEY}") + CURRENT_LOCAL=$(git config --local --get "${KEY}") + if [ -z "${CURRENT_GLOBAL}" -a -z "${CURRENT_LOCAL}" ] ; then + git config --global "${KEY}" "${VALUE}" + elif [ -n "${CURRENT_LOCAL}" ] ; then + echo "You need to do 'git config --local --unset ${KEY}'" >&2 + elif [ "${CURRENT_GLOBAL}" != "${VALUE}" ] ; then + cat <<EOF >&2 +Current '${KEY}' is + '${CURRENT_GLOBAL}' +expected + '${VALUE}' +do + git config --global --unset ${KEY} + $0 $@ +EOF fi fi done