X-Git-Url: https://git.toastfreeware.priv.at/gregoa/movein.git/blobdiff_plain/4d70ff7478ca666802e809a418ece28266fc5e40..ee203f1829d19cc02f9b33c24e47e05851471826:/movein diff --git a/movein b/movein index f236b14..e13eb72 100755 --- a/movein +++ b/movein @@ -6,19 +6,19 @@ # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any # later version. -# -# This program is distributed in the hope that it will be useful, +# +# this program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, -# USA. - +# USA. set -e +set -u usage() { bn=$(basename $0) @@ -42,7 +42,7 @@ SYNOPSIS $bn exec repository_name command [arg1 arg2...] COMMANDS - init + init create ~/.moveinrc, create/update ~/.mrconfig ls @@ -57,7 +57,7 @@ COMMANDS checkout the repository from the remote host and add it to mr's configuration - new repository_name file1 [file2 file3...] + new repository_name file1 [file2 file3...] create a new repository on the remote host, and checkin the listed files to the new repository. Add the new repository to mr's configuration @@ -77,7 +77,7 @@ EOF [ $# -ge 1 ] || usage -GIT_HOST=git.vireo.org +GIT_HOST=git.$(hostname -d) REMOTE_REPOS=~/git LOCAL_REPOS=~/.movein MRCONFIG=~/.mrconfig @@ -87,37 +87,37 @@ MOVEINRC=~/.moveinrc init() { - if [ $# -ne 0 ]; then - usage + if [ $# -ne 0 ]; then + usage fi - + if [ -e $MOVEINRC ]; then - echo $MOVEINRC already exists - exit 1 + echo $MOVEINRC already exists + exit 1 fi - echo -n "git server hostname? [git.vireo.org] " + echo -n "git server hostname? [${GIT_HOST}] " read GIT_HOST - if [ -z "$GIT_HOST" ]; then - GIT_HOST=git.vireo.org + if [ -z "$GIT_HOST" ]; then + GIT_HOST=git.$(hostname -d) fi - echo -n "path to remote repositories? [~/git] " + echo -n "path to remote repositories? [~/git] " read REMOTE_REPOS - if [ -z "$REMOTE_REPOS" ]; then - REMOTE_REPOS=~/git + if [ -z "$REMOTE_REPOS" ]; then + REMOTE_REPOS=~/git fi - echo -n "Local repository directory? [~/.movein] " + echo -n "Local repository directory? [~/.movein] " read LOCAL_REPOS - if [ -z "$LOCAL_REPOS" ]; then - LOCAL_REPOS=~/.movein + if [ -z "$LOCAL_REPOS" ]; then + LOCAL_REPOS=~/.movein fi - echo -n "Location of .mrconfig file? [~/.mrconfig] " + echo -n "Location of .mrconfig file? [~/.mrconfig] " read MRCONFIG - if [ -z "$MRCONFIG" ]; then - MRCONFIG=~/.mrconfig + if [ -z "$MRCONFIG" ]; then + MRCONFIG=~/.mrconfig fi cat < $MOVEINRC @@ -127,17 +127,17 @@ LOCAL_REPOS=$LOCAL_REPOS MRCONFIG=$MRCONFIG EOF - if [ ! -d "$LOCAL_REPOS" ]; then - mkdir -p "$LOCAL_REPOS" + if [ ! -d "$LOCAL_REPOS" ]; then + mkdir -p "$LOCAL_REPOS" fi mr -c "$MRCONFIG" config DEFAULT include="cat /usr/share/mr/git-fake-bare" - + } login() { - if [ $# -ne 1 ]; then - usage + if [ $# -ne 1 ]; then + usage fi export GIT_DIR="$LOCAL_REPOS/${1}.git" @@ -149,7 +149,7 @@ login() { execin() { local REPO if [ $# -lt 1 ]; then - usage + usage fi REPO=$1;shift @@ -161,31 +161,31 @@ execin() { } add() { - if [ $# -ne 1 ]; then - usage + if [ $# -ne 1 ]; then + usage fi REPO_NAME=$1.git ; shift LOCAL_REPO=$LOCAL_REPOS/$REPO_NAME REPO_URL=ssh://$GIT_HOST/$REMOTE_REPOS/$REPO_NAME if [ -e "$LOCAL_REPO" ]; then - echo $LOCAL_REPO already exists - exit 1 + echo $LOCAL_REPO already exists + exit 1 else - trap "rm -rf $LOCAL_REPO" 0 - mkdir "$LOCAL_REPO" - export GIT_DIR="$LOCAL_REPO" - git init --bare - git remote add origin $REPO_URL - git config branch.master.remote origin - git config branch.master.merge refs/heads/master - git config core.bare false - git config core.worktree ../../ - git config status.showUntrackedFiles no - GIT_WORK_TREE="$LOCAL_REPO/../../" git pull - trap - 0 - - mr -c "$MRCONFIG" config "$LOCAL_REPO" checkout="git_fake_bare_checkout '$REPO_URL' 'REPO_NAME' '../../'" + trap "rm -rf $LOCAL_REPO" 0 + mkdir "$LOCAL_REPO" + export GIT_DIR="$LOCAL_REPO" + git init --bare + git remote add origin $REPO_URL + git config branch.master.remote origin + git config branch.master.merge refs/heads/master + git config core.bare false + git config core.worktree ../../ + git config status.showUntrackedFiles no + GIT_WORK_TREE="$LOCAL_REPO/../../" git pull + trap - 0 + + mr -c "$MRCONFIG" config "$LOCAL_REPO" checkout="git_fake_bare_checkout '$REPO_URL' 'REPO_NAME' '../../'" fi } @@ -200,82 +200,107 @@ listremote() { } new() { - if [ $# -lt 2 ]; then - usage + if [ $# -lt 2 ]; then + usage fi REPO_NAME=$1.git ; shift LOCAL_REPO="$LOCAL_REPOS/$REPO_NAME" REPO_URL="ssh://$GIT_HOST/$REMOTE_REPOS/$REPO_NAME" if [ ! -e "$1" ]; then - echo $1 not found - exit 1 + echo $1 not found + exit 1 fi if [ -e "$LOCAL_REPO" ]; then - echo $LOCAL_REPO already exists - exit 1 + echo $LOCAL_REPO already exists + exit 1 else - trap "rm -rf $LOCAL_REPO" 0 - mkdir -p "$LOCAL_REPO" + trap "rm -rf $LOCAL_REPO" 0 + mkdir -p "$LOCAL_REPO" - ssh $GIT_HOST " + ssh $GIT_HOST " GIT_DIR=$REMOTE_REPOS/$REPO_NAME git --bare init "