67 lines · 1.4 KB · Shell
RawDownload
 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 <path> (<remote> <url>)[,...] 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    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    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() {    git -c uploadpack.allowrefinwant daemon --verbose --base-path=. --export-all --user-path &>/dev/null &    daemon_pid=$!    while ! nc -z localhost 9418; do      sleep 0.1    done    trap 'kill $daemon_pid' EXIT}