From 83557583cbce7922d9073fa605a0d8ee98577a7b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Mon, 28 Apr 2014 23:36:32 +0200 Subject: [PATCH] Add support for new files --- fd-commit | 75 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/fd-commit b/fd-commit index e65f2ced..cfe5f1a9 100755 --- a/fd-commit +++ b/fd-commit @@ -30,41 +30,48 @@ if [ ! -d metadata ]; then fi while read line; do - if [[ "$line" == *M*metadata/*.txt ]]; then - file=${line##* } - - id=${file##*/} - id=${id%.txt*} - if [ $# -gt 0 ]; then - found=false - for arg in "$@"; do - if [ "$id" == "$arg" ]; then - found=true - break - fi - done - $found || continue - fi - - [ -d metadata/$id ] && extra=metadata/$id || extra= + if [[ "$line" == *??*metadata/*.txt ]]; then + new=true + elif [[ "$line" == *M*metadata/*.txt ]]; then + new=false + fi + file=${line##* } - name= autoname= - while read l; do - if [[ "$l" == "Auto Name:"* ]]; then - autoname=${l#*:} - elif [[ "$l" == "Name:"* ]]; then - name=${l#*:} + id=${file##*/} + id=${id%.txt*} + if [ $# -gt 0 ]; then + found=false + for arg in "$@"; do + if [ "$id" == "$arg" ]; then + found=true + break fi - done < "$file" + done + $found || continue + fi - if [ -n "$name" ]; then - fullname="$name" - elif [ -n "$autoname" ]; then - fullname="$autoname" - else - fullname="$id" + [ -d metadata/$id ] && extra=metadata/$id || extra= + + name= autoname= + while read l; do + if [[ "$l" == "Auto Name:"* ]]; then + autoname=${l#*:} + elif [[ "$l" == "Name:"* ]]; then + name=${l#*:} fi + done < "$file" + + if [ -n "$name" ]; then + fullname="$name" + elif [ -n "$autoname" ]; then + fullname="$autoname" + else + fullname="$id" + fi + if $new; then + message="New app: $fullname" + else onlybuild=true newbuild=false disable=false @@ -97,11 +104,11 @@ while read line; do else message="$fullname:" fi - - message=${message//\"/\\\"} - commands+=("git add -- $file $extra && git commit -m \"$message\" -e -v") fi -done < <(git status --porcelain) + + message=${message//\"/\\\"} + commands+=("git add -- $file $extra && git commit -m \"$message\" -e -v") +done < <(git status --porcelain metadata) [[ -z $commands ]] && exit 0 -- 2.30.2