Initial pre-release
tmux-party: share a tmux session with people on the same UNIX host. Single-file POSIX shell (party) with a filesystem + tmux server-access trust model. See README.md.
This commit is contained in:
commit
6be0ac1877
20 changed files with 3869 additions and 0 deletions
49
deploy.sh
Executable file
49
deploy.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#!/bin/sh
|
||||
# Sync the deployable surface to a remote host for `make install`. Pins the
|
||||
# include list to the seven items the project ships: Makefile, party, party.1,
|
||||
# README.md, tools/post-install.sh, and tests/ (so the host can run `make
|
||||
# check` as a target-OS smoke test). This is the dev-rsync variant. The
|
||||
# release-tarball variant strips tests/ as well; not implemented here.
|
||||
#
|
||||
# Usage:
|
||||
# ./deploy.sh <host>[:path] [extra rsync args]
|
||||
#
|
||||
# Path defaults to `tmux-party-src` (relative to the remote login user's
|
||||
# home directory) when omitted.
|
||||
#
|
||||
# Examples:
|
||||
# ./deploy.sh user@domain.tld # → :tmux-party-src
|
||||
# ./deploy.sh user@domain.tld:dev/tmux-party-src # explicit path
|
||||
# ./deploy.sh user@domain.tld -n # dry-run, default path
|
||||
|
||||
set -eu
|
||||
|
||||
dest="${1:-}"
|
||||
[ -n "$dest" ] || {
|
||||
echo "usage: $0 <host>[:path] [extra rsync args]" >&2
|
||||
exit 2
|
||||
}
|
||||
shift
|
||||
|
||||
# Default path when only a host (no ":path") is given. Bare-host form
|
||||
# is the common case for casual sync; an explicit path overrides it.
|
||||
case "$dest" in
|
||||
*:*) ;;
|
||||
*) dest="$dest:tmux-party-src" ;;
|
||||
esac
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
exec rsync -av --delete "$@" \
|
||||
--include='/Makefile' \
|
||||
--include='/party' \
|
||||
--include='/party.1' \
|
||||
--include='/README.md' \
|
||||
--include='/tools/' \
|
||||
--include='/tools/post-install.sh' \
|
||||
--include='/tests/' \
|
||||
--include='/tests/*.bats' \
|
||||
--include='/tests/helpers.bash' \
|
||||
--include='/tests/run-remote.sh' \
|
||||
--exclude='*' \
|
||||
./ "$dest"
|
||||
Loading…
Add table
Add a link
Reference in a new issue