From 69f17767abac2a31ffdaeebc6bc5997b102ffe92 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sun, 27 Sep 2026 18:56:15 +0200 Subject: Fix title, git toggle, push target, showconf and restore bugs - addnote: use the title passed on the command line instead of storing an empty one. - USEGIT: test for the value true, so USEGIT=false actually disables git even when GITREMOTE is set. - git: push to origin HEAD instead of a hardcoded master branch. - configtext: print GITCLIENT, already defaulted to hostname. - backup_restore: replace the malformed .git test, always remove the existing .git before copying the backup one. - helptext/README: --backup requires a destination. - README: add Development Approach section. Co-Authored-By: Claude Opus 5.5 --- SOURCE/CORE/core-add.sh | 2 ++ SOURCE/CORE/core-backup.sh | 4 +--- SOURCE/CORE/git.sh | 22 +++++++++++----------- SOURCE/CORE/helpers.sh | 11 +++-------- 4 files changed, 17 insertions(+), 22 deletions(-) (limited to 'SOURCE') diff --git a/SOURCE/CORE/core-add.sh b/SOURCE/CORE/core-add.sh index 3404f71..927f191 100644 --- a/SOURCE/CORE/core-add.sh +++ b/SOURCE/CORE/core-add.sh @@ -19,6 +19,8 @@ addnote() { NOTETITLE=$TITLE ;; esac + else + NOTETITLE=$1 fi # [[ -z "$1" ]] && NOTETITLE="$RTITLE" || NOTETITLE="$1" diff --git a/SOURCE/CORE/core-backup.sh b/SOURCE/CORE/core-backup.sh index 7a0b6d1..f03782e 100644 --- a/SOURCE/CORE/core-backup.sh +++ b/SOURCE/CORE/core-backup.sh @@ -73,9 +73,7 @@ backup_restore() { fi # restoring git repo subdirectory if [ -d $BACKUPDIR/.git ]; then - if [ /bin/ls -A ${BASEDIR}/.git ]; then - rm -rf ${BASEDIR}/.git - fi + rm -rf "${BASEDIR}/.git" cp -r --verbose ${BACKUPDIR}/.git ${BASEDIR}/ fi ;; diff --git a/SOURCE/CORE/git.sh b/SOURCE/CORE/git.sh index 42c89a8..7be650f 100644 --- a/SOURCE/CORE/git.sh +++ b/SOURCE/CORE/git.sh @@ -19,7 +19,7 @@ is_git_repo() { # accepts -f parameter to skip last sync check gitsync() { FORCE=$1 - if [[ $USEGIT && -n $GITREMOTE ]]; then + if [[ $USEGIT == true && -n $GITREMOTE ]]; then [ $PLAIN == false ] && echo "Syncing notes with git on remote \"$GITREMOTE\"" NOWSYNC=$(date +%s) if [[ $FORCE == "-f" ]]; then @@ -50,12 +50,12 @@ gitsync() { # add note to git and push it to remote gitadd() { - if [[ $USEGIT && -n $GITREMOTE ]]; then + if [[ $USEGIT == true && -n $GITREMOTE ]]; then [ $PLAIN == false ] && echo "Adding note to remote \"$GITREMOTE\"" cd $BASEDIR $GIT add . $GIT commit -m "$(basename $0) - adding note from ${GITCLIENT}" - $GIT push origin master + $GIT push origin HEAD else # no git, so we just keep going true @@ -64,12 +64,12 @@ gitadd() { # edited note added to git and pushed it to remote gitedit() { - if [[ $USEGIT && -n $GITREMOTE ]]; then + if [[ $USEGIT == true && -n $GITREMOTE ]]; then [ $PLAIN == false ] && echo "Editing note on remote \"$GITREMOTE\"" cd $BASEDIR $GIT add . $GIT commit -m "$(basename $0) - ${GITCLIENT} note edited." - $GIT push origin master + $GIT push origin HEAD else # no git, so we just keep going true @@ -80,14 +80,14 @@ gitedit() { gitremove() { NOTE=$1 FILE=$2 - if [[ $USEGIT && -n $GITREMOTE ]]; then + if [[ $USEGIT == true && -n $GITREMOTE ]]; then [ $PLAIN == false ] && echo "Deleting notes from remote \"$GITREMOTE\"" if [ "all" == $NOTE ];then echo "Deleting all notes" cd $BASEDIR $GIT rm notes/* $GIT commit -m "$(basename $0) - ${GITCLIENT} removing all notes." - $GIT push origin master + $GIT push origin HEAD else local OK=$(check_noteID "$NOTE") if [[ "$OK" ]]; then @@ -96,7 +96,7 @@ gitremove() { $GIT rm notes/${FILE} $GIT add . $GIT commit -m "$(basename $0) - ${GITCLIENT} removing note ID ${NOTE}." - $GIT push origin master + $GIT push origin HEAD fi fi else @@ -106,7 +106,7 @@ gitremove() { } # check for USEGIT and subsequent variables -if [[ $USEGIT && -n $GITREMOTE ]]; then +if [[ $USEGIT == true && -n $GITREMOTE ]]; then # GIT is a go. if ! is_git_repo $BASEDIR; then # initializing git repository @@ -116,9 +116,9 @@ if [[ $USEGIT && -n $GITREMOTE ]]; then $GIT add . $GIT commit -m "$(basename $0) - initial commit from ${GITCLIENT}" $GIT remote add origin $GITREMOTE - $GIT push -u origin master + $GIT push -u origin HEAD fi -elif [[ $USEGIT && -z $GITREMOTE ]]; then +elif [[ $USEGIT == true && -z $GITREMOTE ]]; then echo "GITREMOTE variable not set. reverting USEGIT to false" USEGIT=false fi diff --git a/SOURCE/CORE/helpers.sh b/SOURCE/CORE/helpers.sh index f0d15d2..0612a46 100644 --- a/SOURCE/CORE/helpers.sh +++ b/SOURCE/CORE/helpers.sh @@ -28,7 +28,7 @@ helptext() { echo -e " -r | --restore=[]\t: Restore a previous backup from dir" echo -e " -v | --version\t\t: Print version" echo -e " --userconf\t\t\t: Export User config file" - echo -e " --backup []\t\t: Backup your data in your destination folder" + echo -e " --backup=\t\t: Backup your data in your destination folder" echo -e " --showconf\t\t\t: Display running options" echo -e " --sync\t\t\t: Sync notes to git repository" echo "" @@ -36,12 +36,7 @@ helptext() { } configtext() { - [ $USEGIT ] && GITUSE="enabled" || GITUSE="disabled" - if [ -n $GITCLIENT ]; then - CLIENTGIT="$( hostname )" - else - CLIENTGIT="$GITCLIENT" - fi + [[ $USEGIT == true ]] && GITUSE="enabled" || GITUSE="disabled" clear echo -e "${BASENAME} configuration is:" @@ -59,7 +54,7 @@ configtext() { echo -e "\tGIT: ${GITUSE} - ${GIT}" echo -e "\tGIT remote: ${GITREMOTE}" echo -e "\tGIT sync delay: ${GITSYNCDELAY}" - echo -e "\tGIT client name: ${CLIENTGIT}" + echo -e "\tGIT client name: ${GITCLIENT}" } # this function returns a random 2 words title -- cgit v1.2.3