Manage $MRCONFIG with `mr config'.
authorgregor herrmann <gregoa@debian.org>
Tue, 27 Sep 2011 15:38:40 +0000 (17:38 +0200)
committergregor herrmann <gregoa@debian.org>
Tue, 27 Sep 2011 15:45:04 +0000 (17:45 +0200)
This allows to use an existing ~/.mrconfig, it works without an existing
~/.mrconfig and is idempotent.

movein

diff --git a/movein b/movein
index 8cac926..ccdd709 100755 (executable)
--- a/movein
+++ b/movein
@@ -40,7 +40,7 @@ SYNOPSIS
 
 COMMANDS
   init 
-      create ~/.mrconfig
+      create ~/.moveinrc, create/update  ~/.mrconfig
 
   ls
   list
@@ -78,11 +78,6 @@ init() {
        usage
     fi
     
-    if [ -e $MRCONFIG ]; then
-       echo $MRCONFIG already exists
-       exit 1
-    fi
-    
     if [ -e $MOVEINRC ]; then
        echo $MOVEINRC already exists
        exit 1
@@ -123,11 +118,7 @@ EOF
        mkdir -p "$LOCAL_REPOS"
     fi
 
-    cat <<END > $MRCONFIG
-[DEFAULT]
-include = cat /usr/share/mr/git-fake-bare
-END
-
+    mr -c "$MRCONFIG" config DEFAULT include="cat /usr/share/mr/git-fake-bare"
     
 }
 
@@ -165,13 +156,9 @@ add() {
        git config core.bare false
        GIT_WORK_TREE="$PWD" git pull
        trap - 0
-       cat <<END >> $MRCONFIG
 
-[$LOCAL_REPO]
-checkout = git_fake_bare_checkout '$REPO_URL' '$REPO_NAME' '../../'
-END
+       mr -c "$MRCONFIG" config "$LOCAL_REPO" checkout="git_fake_bare_checkout '$REPO_URL' 'REPO_NAME' '../../'"
     fi
-
 }
 
 list() {
@@ -215,11 +202,8 @@ new() {
        git push --all
        
        trap - 0
-       cat <<END >> $MRCONFIG
 
-[$LOCAL_REPO]
-checkout = git_fake_bare_checkout '$REPO_URL' '$REPO_NAME' '../../'
-END
+       mr -c "$MRCONFIG" config "$LOCAL_REPO" checkout="git_fake_bare_checkout '$REPO_URL' 'REPO_NAME' '../../'"
     fi
 
 }