27 lines
813 B
Bash
Executable File
27 lines
813 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
local_host="$HOSTNAME"
|
|
local_project="$(cat currentProject)"
|
|
remote_host="$(ssh "$(project-sshn)" "cat "~/project-manager/host"")"
|
|
remote_project="$(ssh "$(project-sshn)" "cat "~/project-manager/project"")"
|
|
|
|
if [ "$local_project" != "" ]; then
|
|
echo "ERROR: This machine has an unpushed project: $local_project"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" == "" ]; then
|
|
echo "ERROR: No project given."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$remote_project" != "" ]; then
|
|
echo "ERROR: $remote_host is currently maintaining $remote_project. Push from it first."
|
|
exit 1
|
|
fi
|
|
|
|
echo "$local_host" | ssh "$(project-sshn)" "cat > "~/project-manager/host""
|
|
echo "$1" | ssh "$(project-sshn)" "cat > "~/project-manager/project""
|
|
rsync --progress --delete -a "$(project-sshn):~/project-manager/projects/$1/." "project"
|
|
echo "$1" > currentProject
|