Add -Y
/--yadm-dir
options
An alternate yadm directory may be specified for every command. This changes where the repository, configurations, and encrypted files are located.
This commit is contained in:
parent
431f149730
commit
a60ed8b655
1 changed files with 43 additions and 8 deletions
51
yadm
51
yadm
|
@ -20,17 +20,14 @@ VERSION=1.03
|
||||||
YADM_WORK="$HOME"
|
YADM_WORK="$HOME"
|
||||||
YADM_DIR="$HOME/.yadm"
|
YADM_DIR="$HOME/.yadm"
|
||||||
|
|
||||||
YADM_REPO="$YADM_DIR/repo.git"
|
YADM_REPO="repo.git"
|
||||||
YADM_CONFIG="$YADM_DIR/config"
|
YADM_CONFIG="config"
|
||||||
YADM_ENCRYPT="$YADM_DIR/encrypt"
|
YADM_ENCRYPT="encrypt"
|
||||||
YADM_ARCHIVE="$YADM_DIR/files.gpg"
|
YADM_ARCHIVE="files.gpg"
|
||||||
|
|
||||||
#; flag when something may have changes (which prompts auto actions to be performed)
|
#; flag when something may have changes (which prompts auto actions to be performed)
|
||||||
CHANGES_POSSIBLE=0
|
CHANGES_POSSIBLE=0
|
||||||
|
|
||||||
#; use the yadm repo for all git operations
|
|
||||||
export GIT_DIR="$YADM_REPO"
|
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
|
|
||||||
require_git
|
require_git
|
||||||
|
@ -387,6 +384,42 @@ function version() {
|
||||||
|
|
||||||
#; ****** Utility Functions ******
|
#; ****** Utility Functions ******
|
||||||
|
|
||||||
|
function process_global_args() {
|
||||||
|
|
||||||
|
#; global arguments are removed before the main processing is done
|
||||||
|
MAIN_ARGS=()
|
||||||
|
while [[ $# > 0 ]] ; do
|
||||||
|
key="$1"
|
||||||
|
case $key in
|
||||||
|
-Y|--yadm-dir) #; override the standard YADM_DIR
|
||||||
|
if [[ ! "$2" =~ ^/ ]] ; then
|
||||||
|
error_out "You must specify a fully qualified yadm directory"
|
||||||
|
fi
|
||||||
|
YADM_DIR="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*) #; main arguments are kept intact
|
||||||
|
MAIN_ARGS+=("$1")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function configure_paths() {
|
||||||
|
|
||||||
|
#; change all paths to be relative to YADM_DIR
|
||||||
|
YADM_REPO="$YADM_DIR/$YADM_REPO"
|
||||||
|
YADM_CONFIG="$YADM_DIR/$YADM_CONFIG"
|
||||||
|
YADM_ENCRYPT="$YADM_DIR/$YADM_ENCRYPT"
|
||||||
|
YADM_ARCHIVE="$YADM_DIR/$YADM_ARCHIVE"
|
||||||
|
|
||||||
|
#; use the yadm repo for all git operations
|
||||||
|
export GIT_DIR="$YADM_REPO"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function configure_repo() {
|
function configure_repo() {
|
||||||
|
|
||||||
debug "Configuring new repo"
|
debug "Configuring new repo"
|
||||||
|
@ -464,4 +497,6 @@ function require_repo() {
|
||||||
[ -d "$YADM_REPO" ] || error_out "Git repo does not exist. did you forget to run 'init' or 'clone'?"
|
[ -d "$YADM_REPO" ] || error_out "Git repo does not exist. did you forget to run 'init' or 'clone'?"
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
process_global_args "$@"
|
||||||
|
configure_paths
|
||||||
|
main "${MAIN_ARGS[@]}"
|
||||||
|
|
Loading…
Reference in a new issue