setup update complete
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
#####################################################################
|
||||
|
||||
setup.filesystem.git() {
|
||||
local sources_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/project-source-code"
|
||||
|
||||
SOURCE_DIR="${DOTWRYN_SETUP__DOTWRYN}" \
|
||||
TARGET_DIR="${sources_dir}/yage/dotwryn" \
|
||||
REMOTE_UPSTREAMS=(
|
||||
'git@github.com:wrynegade/dotwryn.git'
|
||||
'git@yage.io:wrynegade/dotwryn.git'
|
||||
'git@bitbucket.org:wrynegade/dotwryn.git'
|
||||
) setup.filesystem.git._.remotes '.wryn'
|
||||
|
||||
SOURCE_DIR="${DOTWRYN_SETUP__DOTWRYN}/zsh/plugins/code-activator" \
|
||||
TARGET_DIR="${sources_dir}/zsh/code-activator" \
|
||||
REMOTE_UPSTREAMS=(
|
||||
'git@yage.io:zsh/code-activator.git'
|
||||
'git@github.com:wrynegade/code-activator.git'
|
||||
) setup.filesystem.git._.remotes 'zsh-plugins/code-activator'
|
||||
|
||||
SOURCE_DIR="${DOTWRYN_SETUP__DOTWRYN}/zsh/plugins/scwrypts" \
|
||||
TARGET_DIR="${sources_dir}/zsh/scwrypts" \
|
||||
REMOTE_UPSTREAMS=(
|
||||
'git@yage.io:zsh/scwrypts'
|
||||
'git@github.com:wrynegade/scwrypts'
|
||||
) setup.filesystem.git._.remotes 'zsh-plugins/scwrypts'
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
setup.filesystem.git._.remotes() {
|
||||
: \
|
||||
&& [[ "${SOURCE_DIR}" ]] \
|
||||
&& [[ "${TARGET_DIR}" ]] \
|
||||
&& [[ "${#REMOTE_UPSTREAMS[@]}" -gt 0 ]] \
|
||||
|| return 1 \
|
||||
;
|
||||
|
||||
[[ "${1}" ]] && echo.status "updating remotes for '${1}'"
|
||||
|
||||
git -C "${SOURCE_DIR}" remote rm upstream 2>/dev/null
|
||||
git -C "${SOURCE_DIR}" remote add upstream "${REMOTE_UPSTREAMS[1]}"
|
||||
|
||||
local remote_upstream
|
||||
for remote_upstream in "${REMOTE_UPSTREAMS[@]}"
|
||||
do
|
||||
git -C "${SOURCE_DIR}" remote set-url --add --push upstream "${remote_upstream}"
|
||||
|
||||
case "${remote_upstream}" in
|
||||
( git@github.com:* )
|
||||
git -C "${SOURCE_DIR}" remote rm github 2>/dev/null
|
||||
git -C "${SOURCE_DIR}" remote add github "${remote_upstream}"
|
||||
;;
|
||||
( git@yage.io:* )
|
||||
git -C "${SOURCE_DIR}" remote rm yage 2>/dev/null
|
||||
git -C "${SOURCE_DIR}" remote add yage "${remote_upstream}"
|
||||
;;
|
||||
( git@bitbucket.org:* )
|
||||
git -C "${SOURCE_DIR}" remote rm bitbucket 2>/dev/null
|
||||
git -C "${SOURCE_DIR}" remote add bitbucket "${remote_upstream}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
unset remote_upstream
|
||||
|
||||
SOURCE_DIR="${SOURCE_DIR}" TARGET_DIR="${TARGET_DIR}" setup.filesystem.git._.link-to-projects \
|
||||
|| echo.warning "failed to link '${TARGET_DIR}'"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
setup.filesystem.git._.link-to-projects() {
|
||||
[[ "${TARGET_DIR}" ]] && [[ "${SOURCE_DIR}" ]] \
|
||||
|| return 1
|
||||
|
||||
{
|
||||
mkdir -p -- "${TARGET_DIR}"
|
||||
rm -- "${TARGET_DIR}/code"
|
||||
ln -s -- "${SOURCE_DIR}" "${TARGET_DIR}/code"
|
||||
} &>/dev/null
|
||||
}
|
||||
Reference in New Issue
Block a user