From 7292342cd056ea863d4db6802c668b3cc674dd45 Mon Sep 17 00:00:00 2001 From: Nicolas Sebrecht Date: Thu, 12 Mar 2015 15:15:16 +0100 Subject: [PATCH] scripts: merge get-website.sh and get-wiki.sh into scripts/get-repository.sh Signed-off-by: Nicolas Sebrecht --- get-website.sh | 23 ------- get-wiki.sh | 23 ------- scripts/get-repository.sh | 138 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 138 insertions(+), 46 deletions(-) delete mode 100755 get-website.sh delete mode 100755 get-wiki.sh create mode 100755 scripts/get-repository.sh diff --git a/get-website.sh b/get-website.sh deleted file mode 100755 index 336e226..0000000 --- a/get-website.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/zsh - -if test -d website -then - echo "Directory 'website' already exists..." - exit 1 -else - git clone https://github.com/OfflineIMAP/offlineimap.github.io.git website - cat </offlineimap.github.io.git - -You can now push your WIPs with: - - $ git push myfork : -EOF -fi diff --git a/get-wiki.sh b/get-wiki.sh deleted file mode 100755 index 609d764..0000000 --- a/get-wiki.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/zsh - -if test -d wiki -then - echo "Directory 'wiki' already exists..." - exit 1 -else - git clone https://github.com/OfflineIMAP/offlineimap.wiki.git wiki - cat </offlineimap-wiki.git - -You can now push your WIPs with: - - $ git push myfork : -EOF -fi diff --git a/scripts/get-repository.sh b/scripts/get-repository.sh new file mode 100755 index 0000000..65704ad --- /dev/null +++ b/scripts/get-repository.sh @@ -0,0 +1,138 @@ +#!/bin/bash +# +# Licence: this file is in the public deomain. +# +# Download and configure the repositories of the website or wiki. + +repository=$1 +github_remote=$2 + +# +# TODO +# +function final_note () { + cat < + $ cd ./$1 + $ git remote add myfork https://github.com//.git +EOF +} + +function setup () { + target_dir=$1 + remote_url=$2 + + # Adjust $PWD if necessary. + test -d scripts || cd .. + if test ! -d scripts + then + echo "cannot figure the correct workdir..." + exit 2 + fi + + if test -d $target_dir + then + echo "Directory '$target_dir' already exists..." + exit 3 + fi + + git clone "${remote_url}.git" "$1" + echo '' + if test $? -gt 0 + then + echo "Cannot fork $remote_url to $1" + exit 4 + fi +} + +function write_renderer () { + cat < "$renderer" + chmod u+x "$renderer" + cd .. + else + echo "ERROR: could not write renderer." + fi +} + +function configure_wiki () { + : # noop +} + +test n$github_remote = 'n' && github_remote='origin' + +# Get Github username. +#offlineimap_url="$(git config --local --get remote.origin.url)" +offlineimap_url="$(git config --local --get remote.nicolas33.url)" +username=$(echo $offlineimap_url | sed -r -e 's,.*github.com.([^/]+)/.*,\1,') + + +case n$repository in + nwebsite) + upstream=https://github.com/OfflineIMAP/offlineimap.github.io + setup website "$upstream" + configure_website "$username" + final_note website "$upstream" + ;; + nwiki) + upstream=https://github.com/OfflineIMAP/offlineimap.wiki + setup wiki "$upstream" + configure_wiki + final_note wiki "$upstream" + ;; + *) + cat <] + +: The name of the Git repository of YOUR fork at Github. + Default: origin +EOF + exit 1 + ;; +esac +