#!/usr/bin/env bash
BASEDIR="$PWD"
ENVDIR="$PWD/env"
+export GREP_OPTIONS=
usage() {
cat <<EOF
delete <name> Delete an environment
rename <newname> Rename the current environment
diff Show differences between current state and environment
- save Save your changes to the environment
+ save [message] Save your changes to the environment, optionally using
+ the given commit message
revert Revert your changes since last save
Options:
env_list() {
env_init
- git branch | grep -vE '^. master$'
+ git branch --color | grep -vE '^. master$'
}
env_diff() {
env_init
env_sync_data
- git diff --cached
+ git diff --cached --color
env_link_config
}
env_save() {
env_init
- env_sync
+ env_sync "$@"
env_link_config
}
fi
git checkout -b "$1" "$from"
if [ -f "$BASEDIR/.config" -o -d "$BASEDIR/files" ]; then
- if ask_bool 1 "Do you want to keep your current config and files?"; then
+ if ask_bool 1 "Do you want to start your configuration repository with the current configuration?"; then
[ -d "$BASEDIR/files" -a \! -L "$BASEDIR/files" ] && {
mkdir -p "$ENVDIR/files"
shopt -s dotglob