56 lines
1 KiB
Bash
Executable file
56 lines
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_sync() {
|
|
cd $DOTFILES_DIR
|
|
git push; git pull
|
|
}
|
|
|
|
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
|