aboutsummaryrefslogtreecommitdiff
path: root/git-remote-testgit
diff options
context:
space:
mode:
Diffstat (limited to 'git-remote-testgit')
-rwxr-xr-xgit-remote-testgit115
1 files changed, 0 insertions, 115 deletions
diff --git a/git-remote-testgit b/git-remote-testgit
deleted file mode 100755
index b5289493e..000000000
--- a/git-remote-testgit
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2012 Felipe Contreras
-
-alias=$1
-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"
-
-export GIT_DIR="$url/.git"
-
-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
- 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 \
- ${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
- echo "ok $ref"
- done
-
- echo
- ;;
- '')
- exit
- ;;
- esac
-done