summaryrefslogtreecommitdiff
path: root/git-remote-testgit.sh
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2019-04-12 12:00:31 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-04-15 05:30:04 (GMT)
commit5afb2ce4cd19b272c218ef5901265c2519204144 (patch)
treea4f016f743f203969859965b2f7157767c29e475 /git-remote-testgit.sh
parent5ee42463399ca3cc75b7e6e4368a3a5df5b010f2 (diff)
downloadgit-5afb2ce4cd19b272c218ef5901265c2519204144.zip
git-5afb2ce4cd19b272c218ef5901265c2519204144.tar.gz
git-5afb2ce4cd19b272c218ef5901265c2519204144.tar.bz2
remote-testgit: move it into the support directory for t5801
The `git-remote-testgit` script is really only used in `t5801-remote-helpers.sh`. It does not even contain any `@@<MAGIC>@@` placeholders that would need to be interpolated via `make git-remote-testgit`. Let's just move it to a new home, decluttering the top-level directory and clarifying that this is just a test helper, not an official Git command that we would want to ever support. Suggested by Ævar Arnfjörð Bjarmason. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-remote-testgit.sh')
-rwxr-xr-xgit-remote-testgit.sh147
1 files changed, 0 insertions, 147 deletions
diff --git a/git-remote-testgit.sh b/git-remote-testgit.sh
deleted file mode 100755
index 752c763..0000000
--- a/git-remote-testgit.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2012 Felipe Contreras
-
-# The first argument can be a url when the fetch/push command was a url
-# instead of a configured remote. In this case, use a generic alias.
-if test "$1" = "testgit::$2"; then
- alias=_
-else
- alias=$1
-fi
-url=$2
-
-dir="$GIT_DIR/testgit/$alias"
-prefix="refs/testgit/$alias"
-
-default_refspec="refs/heads/*:${prefix}/heads/*"
-
-refspec="${GIT_REMOTE_TESTGIT_REFSPEC-$default_refspec}"
-
-test -z "$refspec" && prefix="refs"
-
-GIT_DIR="$url/.git"
-export GIT_DIR
-
-force=
-
-mkdir -p "$dir"
-
-if test -z "$GIT_REMOTE_TESTGIT_NO_MARKS"
-then
- gitmarks="$dir/git.marks"
- testgitmarks="$dir/testgit.marks"
- test -e "$gitmarks" || >"$gitmarks"
- test -e "$testgitmarks" || >"$testgitmarks"
-fi
-
-while read line
-do
- case $line in
- capabilities)
- echo 'import'
- echo 'export'
- test -n "$refspec" && echo "refspec $refspec"
- if test -n "$gitmarks"
- then
- echo "*import-marks $gitmarks"
- echo "*export-marks $gitmarks"
- fi
- test -n "$GIT_REMOTE_TESTGIT_SIGNED_TAGS" && echo "signed-tags"
- test -n "$GIT_REMOTE_TESTGIT_NO_PRIVATE_UPDATE" && echo "no-private-update"
- echo 'option'
- echo
- ;;
- list)
- git for-each-ref --format='? %(refname)' 'refs/heads/'
- head=$(git symbolic-ref HEAD)
- echo "@$head HEAD"
- echo
- ;;
- import*)
- # read all import lines
- while true
- do
- ref="${line#* }"
- refs="$refs $ref"
- read line
- test "${line%% *}" != "import" && break
- done
-
- if test -n "$gitmarks"
- then
- echo "feature import-marks=$gitmarks"
- echo "feature export-marks=$gitmarks"
- fi
-
- if test -n "$GIT_REMOTE_TESTGIT_FAILURE"
- then
- echo "feature done"
- exit 1
- fi
-
- echo "feature done"
- git fast-export \
- ${testgitmarks:+"--import-marks=$testgitmarks"} \
- ${testgitmarks:+"--export-marks=$testgitmarks"} \
- $refs |
- sed -e "s#refs/heads/#${prefix}/heads/#g"
- echo "done"
- ;;
- export)
- if test -n "$GIT_REMOTE_TESTGIT_FAILURE"
- then
- # consume input so fast-export doesn't get SIGPIPE;
- # git would also notice that case, but we want
- # to make sure we are exercising the later
- # error checks
- while read line; do
- test "done" = "$line" && break
- done
- exit 1
- fi
-
- before=$(git for-each-ref --format=' %(refname) %(objectname) ')
-
- git fast-import \
- ${force:+--force} \
- ${testgitmarks:+"--import-marks=$testgitmarks"} \
- ${testgitmarks:+"--export-marks=$testgitmarks"} \
- --quiet
-
- # figure out which refs were updated
- git for-each-ref --format='%(refname) %(objectname)' |
- while read ref a
- do
- case "$before" in
- *" $ref $a "*)
- continue ;; # unchanged
- esac
- if test -z "$GIT_REMOTE_TESTGIT_PUSH_ERROR"
- then
- echo "ok $ref"
- else
- echo "error $ref $GIT_REMOTE_TESTGIT_PUSH_ERROR"
- fi
- done
-
- echo
- ;;
- option\ *)
- read cmd opt val <<-EOF
- $line
- EOF
- case $opt in
- force)
- test $val = "true" && force="true" || force=
- echo "ok"
- ;;
- *)
- echo "unsupported"
- ;;
- esac
- ;;
- '')
- exit
- ;;
- esac
-done