.gitconfig: add autocrlf = false, merge use diff3
[cmccabe-etc] / install-symlinks.sh
index f922179..dcaecf6 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
 
 #
 # install-symlinks.sh
@@ -15,8 +15,22 @@ die() {
        exit 1
 }
 
-FULLPATH=`readlink -f $0`
-BASEDIR=`dirname ${FULLPATH}`
+copy_ssh_old=0
+for file in .bashrc .ssh .profile; do
+    if [ -f ../$file ]; then
+        if [ -L ../$file ]; then
+            :
+        else
+            echo "moving old $file to $file-old"
+            mv -f ../$file ../$file-old
+            if [ $file == .ssh ]; then
+                copy_ssh_old=1
+            fi
+        fi
+    fi
+done
+
+BASEDIR=`pwd`
 for file in ${BASEDIR}/.[^.]*; do
        # get base file name, like ".gitconfig"
        basefile=`basename ${file}`
@@ -25,9 +39,8 @@ for file in ${BASEDIR}/.[^.]*; do
        relfile=`echo ${file} | sed 's_.*/\([^/]*/[^/]*\)$_\1_'`
 
        # skip files which we don't want to link
-       if [ "${basefile}" == ".git" ]; then
-               continue;
-       fi
+       [ "${basefile}" == ".git" ] && continue
+       [ "${basefile}" == ".gitignore" ] && continue
 
        pushd .. > /dev/null
        if [ -L ${basefile} ]; then
@@ -44,3 +57,10 @@ for file in ${BASEDIR}/.[^.]*; do
        fi
        popd > /dev/null
 done
+
+if [ $copy_ssh_old -eq 1 ]; then
+    echo "copying files from .ssh-old to .ssh"
+    cp -f ../.ssh-old/* ../.ssh
+    echo "chmod 600 ../.ssh/config"
+    chmod 600 ../.ssh/*
+fi