Skip to content

Commit

Permalink
Adding extensionless script to Shell samples
Browse files Browse the repository at this point in the history
  • Loading branch information
brcooley committed Aug 14, 2012
1 parent ed70d29 commit f8a7d11
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions samples/Shell/script_noext
@@ -0,0 +1,55 @@
#!/bin/bash
#
# Bash script to "plugin" to the dotfile repository, does a lot of fun stuff
# like turning the normal dotfiles (eg .bashrc) into symlinks to this
# repository's versions of those files (ensure that updates are just a
# 'git pull' away), optionally moving old files so that they can be
# preserved, setting up a cron job to automate the aforementioned git
# pull, and maybe some more fun stuff
#

shopt -s nocasematch # This makes pattern matching case-insensitive

POSTFIX="local"
URL="https://github.com/brcooley/.f.git"
PUSHURL="git@github.com:brcooley/.f.git"

overwrite=true

print_help () {
echo -e "\nA script to keep dotfiles up to date\n"
echo "Options:"
echo " -k, --keep-local Keeps local copies of dotfiles by appending"
echo " \"$POSTFIX\" to them"
exit 0
}


for opt in $@; do
case $opt in
-k | --keep-local) overwrite=false;;
-h | --help) print_help;;
esac
done



for f in .*; do
if [ "$f" = ".git" -o "$f" = "." -o "$f" = ".." -o "$f" = ".f" ]; then continue; fi
if [ -f "$HOME/$f" ]; then
if [ $overwrite = false ]; then
mv "$HOME/$f" "$HOME/${f}_$POSTFIX"
else
rm "$HOME/$f"
fi
# echo "Moving ~/$f to $HOME/${f}_$POSTFIX"
fi
ln -s "$PWD/$f" "$HOME/$f"
done

# Git versions prior to 1.7.? (1.7.1 confirmed) do not have a --local option
git config --local remote.origin.url "$URL"
git config --local remote.origin.pushurl "$PUSHURL"
crontab .jobs.cron
source ~/.bashrc
echo "Plugin succesful"

0 comments on commit f8a7d11

Please sign in to comment.