# Must be sourced into the main journey test function set-static-git-environment() { set -a export GIT_AUTHOR_DATE="2020-09-09 09:06:03 +0800" export GIT_COMMITTER_DATE="${GIT_AUTHOR_DATE}" export GIT_AUTHOR_NAME="Sebastian Thiel" export GIT_COMMITTER_NAME="${GIT_AUTHOR_NAME}" export GIT_AUTHOR_EMAIL="git@example.com" export GIT_COMMITTER_EMAIL="${GIT_AUTHOR_EMAIL}" set +a } function remove-paths() { sed -E 's#/.*#"#g' } function repo-with-remotes() { if [[ $((($# - 1) % 2)) != 0 ]] || [[ $# = 0 ]]; then echo "need ( )[,...] tuples" exit 42 fi mkdir -p "$1" ( cd "$1" shift git init while [[ $# != 0 ]]; do git remote add "$1" "$2" shift 2 done git config commit.gpgsign false git config tag.gpgsign false touch a git add a git commit -m "non-bare" ) &>/dev/null } function small-repo-in-sandbox() { sandbox { git init git checkout -b main git config commit.gpgsign false git config tag.gpgsign false touch a git add a git commit -m "first" git tag unannotated touch b git add b git commit -m "second" git tag annotated -m "tag message" git branch dev echo hi >> b git commit -am "third" } &>/dev/null } function launch-git-daemon() { local i git_daemon_url_file git_daemon_url_file="$(mktemp -t git-daemon-url.XXXXXX)" "$jtt" git-daemon "$git_daemon_url_file" & daemon_pid=$! for i in $(seq 1 50); do if test -s "$git_daemon_url_file"; then git_daemon_url="$(cat "$git_daemon_url_file")" rm -f "$git_daemon_url_file" trap 'kill "$daemon_pid" 2>/dev/null || true; wait "$daemon_pid" 2>/dev/null || true' EXIT return fi sleep 0.1 done kill "$daemon_pid" 2>/dev/null || true wait "$daemon_pid" 2>/dev/null || true rm -f "$git_daemon_url_file" echo 1>&2 "failed to start git daemon" exit 1 }