SMOLNET PORTAL home about changes
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
Original URLgopher://bitreich.org/0/scm/dossier/commit/808c788972b30f...
Content-Typetext/plain; charset=utf-8