iFix export + auto git commit - dossier - console collection manager Err bitreich.org 70
1Log /scm/dossier/log.gph bitreich.org 70
1Files /scm/dossier/files.gph bitreich.org 70
1Refs /scm/dossier/refs.gph bitreich.org 70
1Tags /scm/dossier/tag bitreich.org 70
1README /scm/dossier/file/README.gph bitreich.org 70
1LICENSE /scm/dossier/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 808c788972b30f8ff7a23fc7f329086b727e26fe /scm/dossier/commit/808c788972b30f8ff7a23fc7f329086b727e26fe.gph bitreich.org 70
1parent d1471e2efbeb610d78c126894210e2afd1351e30 /scm/dossier/commit/d1471e2efbeb610d78c126894210e2afd1351e30.gph bitreich.org 70
hAuthor: Solene Rapenne <solene@perso.pw> URL:mailto:solene@perso.pw bitreich.org 70
iDate: Sun, 15 Jul 2018 01:32:01 +0200 Err bitreich.org 70
i Err bitreich.org 70
iFix export + auto git commit Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M cdb | 33 +++++++++++++++---------------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 16 insertions(+), 17 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/cdb b/cdb /scm/dossier/file/cdb.gph bitreich.org 70
i@@ -2,6 +2,11 @@ Err bitreich.org 70
i Err bitreich.org 70
i : ${REPO:=/home/solene/dev/cbd/games/} Err bitreich.org 70
i mkdir -p "${REPO}" || exit 1 Err bitreich.org 70
i+if [ ! -d "${REPO}/.git" ] Err bitreich.org 70
i+then Err bitreich.org 70
i+ cd "$REPO" Err bitreich.org 70
i+ git init Err bitreich.org 70
i+fi Err bitreich.org 70
i Err bitreich.org 70
i # displays the values of an identifier Err bitreich.org 70
i # $1 identifier Err bitreich.org 70
i@@ -33,32 +38,24 @@ show() { Err bitreich.org 70
i # we assume it'll works with the dataset Err bitreich.org 70
i export_csv() { Err bitreich.org 70
i cd "${REPO}" Err bitreich.org 70
i- IDS=$(find . -type f | cut -d '/' -f 3 | sort | uniq | paste -s -d '\x0' -) Err bitreich.org 70
i- ATTRS=$(find . -type f | cut -d '/' -f 2 | sort | uniq | paste -s -d '\x0' -) Err bitreich.org 70
i- Err bitreich.org 70
i- OLDIFS=$IFS Err bitreich.org 70
i- IFS=''\x0 Err bitreich.org 70
i Err bitreich.org 70
i # display header Err bitreich.org 70
i printf '"identifier",' Err bitreich.org 70
i- for attr in $ATTRS Err bitreich.org 70
i+ find . -name '.git' -prune -o -type f -print | cut -d '/' -f 2 | sort | uniq | while read attr Err bitreich.org 70
i do Err bitreich.org 70
i printf '"%s",' $attr Err bitreich.org 70
i done Err bitreich.org 70
i printf '\n' Err bitreich.org 70
i Err bitreich.org 70
i # print database Err bitreich.org 70
i- for id in $IDS Err bitreich.org 70
i+ find . -name '.git' -prune -o -type f -print | cut -d '/' -f 3 | sort | uniq | while read id Err bitreich.org 70
i do Err bitreich.org 70
i printf '"%s",' "$id" Err bitreich.org 70
i- for attr in $ATTRS Err bitreich.org 70
i+ find . -name '.git' -prune -o -type f -print | cut -d '/' -f 2 | sort | uniq | while read attr Err bitreich.org 70
i do Err bitreich.org 70
i- if [ -f "${attr}/${id}" ] Err bitreich.org 70
i- then Err bitreich.org 70
i- printf '"%s",' "$(cat "${attr}/${id}")" Err bitreich.org 70
i- else Err bitreich.org 70
i- printf '"",' Err bitreich.org 70
i- fi Err bitreich.org 70
i+ # for faster processing, we do not check existence of file before Err bitreich.org 70
i+ awk '{ printf "\"%s\",",$0}' "${attr}/${id}" 2>/dev/null \ Err bitreich.org 70
i+ || printf '"",' Err bitreich.org 70
i done Err bitreich.org 70
i printf '\n' Err bitreich.org 70
i done Err bitreich.org 70
i@@ -75,7 +72,7 @@ delete() { Err bitreich.org 70
i do Err bitreich.org 70
i if [ -f "${attribute}/${1}" ] Err bitreich.org 70
i then Err bitreich.org 70
i- rm "${attribute}/${1}" Err bitreich.org 70
i+ git commit -m "Delete ${ATTRIBUTE} ${ID}" "${ATTRIBUTE}/${ID}" Err bitreich.org 70
i rmdir "${attribute}" 2> /dev/null Err bitreich.org 70
i SEEN=1 Err bitreich.org 70
i fi Err bitreich.org 70
i@@ -94,7 +91,7 @@ delete() { Err bitreich.org 70
i # displays list of identifiers Err bitreich.org 70
i show_list() { Err bitreich.org 70
i cd "${REPO}" Err bitreich.org 70
i- find . -type f | cut -d '/' -f 3 | sort | uniq -c | \ Err bitreich.org 70
i+ find . -name '.git' -prune -o -type f -print | cut -d '/' -f 3 | sort | uniq -c | \ Err bitreich.org 70
i awk '{ for(i=2;i<=NF;i=i+1) { printf "%s ", $i } Err bitreich.org 70
i printf "(%i)\n", $1 Err bitreich.org 70
i }' Err bitreich.org 70
i@@ -104,7 +101,7 @@ show_list() { Err bitreich.org 70
i # displays attributes used Err bitreich.org 70
i show_attributes() { Err bitreich.org 70
i cd "${REPO}" Err bitreich.org 70
i- find . -type f | cut -d '/' -f 2 | sort | uniq -c | \ Err bitreich.org 70
i+ find . -name '.git' -prune -o -type f -print | cut -d '/' -f 2 | sort | uniq -c | \ Err bitreich.org 70
i awk '{ for(i=2;i<=NF;i=i+1) { printf "%s ", $i } Err bitreich.org 70
i printf "(%i)\n", $1 Err bitreich.org 70
i }' Err bitreich.org 70
i@@ -127,6 +124,8 @@ add_value() { Err bitreich.org 70
i Err bitreich.org 70
i mkdir -p "$ATTRIBUTE" Err bitreich.org 70
i printf '%s' "$VALUE" > "${ATTRIBUTE}/${ID}" Err bitreich.org 70
i+ git add "${ATTRIBUTE}/${ID}" Err bitreich.org 70
i+ git commit -m "Modify %{ATTRIBUTE} on ${ID}" "${ATTRIBUTE}/${ID}" Err bitreich.org 70
i done Err bitreich.org 70
i exit 0 Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain