configfiles/scripts/dotfiles.sh
2015-10-08 09:22:17 +02:00

61 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
DOTFILES_DIR="$HOME/Projects/config"
command_diff() {
cd $DOTFILES_DIR
git diff $@
}
command_commit() {
cd $DOTFILES_DIR
git add .
git commit -m $1
}
command_status() {
cd $DOTFILES_DIR
git status
}
command_add() {
file=$1
savepoint=$2
mkdir -p "$DOTFILES_DIR/$(dirname "$savepoint")"
mv "$file" "$DOTFILES_DIR/$savepoint"
ln -s "$DOTFILES_DIR/$savepoint" "$file"
cd $DOTFILES_DIR
git add "$savepoint"
git commit -m "Added $savepoint"
echo "$file added in $DOTFILES_DIR/$savepoint"
}
command_pull() {
cd $DOTFILES_DIR
git pull
}
command_push() {
cd $DOTFILES_DIR
git push
}
command_help() {
echo "diff -- Show diffs"
echo "commit [message] -- Add all files and commit"
echo "status -- Show status"
echo "add [file] [savepoint] -- Add file to dotfiles at savepoint, create symlink and add"
echo "sync -- push and pull"
}
CMD=$1
shift
case "$CMD" in
diff|commit|add|status|sync|help)
command_$CMD $@
;;
*)
command_help
;;
esac