Fix fetch_git
with --keep
(sstephenson/ruby-build#549)
This commit is contained in:
parent
00596b4b46
commit
2ec8f0f0a4
@ -394,7 +394,14 @@ fetch_git() {
|
|||||||
popd >&4
|
popd >&4
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -e "${package_name}" ]; then
|
||||||
|
( cd "${package_name}"
|
||||||
|
git fetch --depth 1 origin "+${git_ref}"
|
||||||
|
git checkout -q -B "$git_ref" "origin/${git_ref}"
|
||||||
|
) >&4 2>&1
|
||||||
|
else
|
||||||
git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" >&4 2>&1
|
git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" >&4 2>&1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "error: please install \`git\` and try again" >&2
|
echo "error: please install \`git\` and try again" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -4,6 +4,11 @@ load test_helper
|
|||||||
export PYTHON_BUILD_SKIP_MIRROR=1
|
export PYTHON_BUILD_SKIP_MIRROR=1
|
||||||
export PYTHON_BUILD_CACHE_PATH=
|
export PYTHON_BUILD_CACHE_PATH=
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
export PYTHON_BUILD_BUILD_PATH="${TMP}/source"
|
||||||
|
mkdir -p "${PYTHON_BUILD_BUILD_PATH}"
|
||||||
|
}
|
||||||
|
|
||||||
@test "failed download displays error message" {
|
@test "failed download displays error message" {
|
||||||
stub curl false
|
stub curl false
|
||||||
|
|
||||||
@ -12,3 +17,36 @@ export PYTHON_BUILD_CACHE_PATH=
|
|||||||
assert_output_contains "> http://example.com/packages/package-1.0.0.tar.gz"
|
assert_output_contains "> http://example.com/packages/package-1.0.0.tar.gz"
|
||||||
assert_output_contains "error: failed to download package-1.0.0.tar.gz"
|
assert_output_contains "error: failed to download package-1.0.0.tar.gz"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "fetching from git repository" {
|
||||||
|
stub git "clone --depth 1 --branch master http://example.com/packages/package.git package-dev : mkdir package-dev"
|
||||||
|
|
||||||
|
run_inline_definition <<DEF
|
||||||
|
install_git "package-dev" "http://example.com/packages/package.git" master copy
|
||||||
|
DEF
|
||||||
|
assert_success
|
||||||
|
assert_output <<OUT
|
||||||
|
Cloning http://example.com/packages/package.git...
|
||||||
|
Installing package-dev...
|
||||||
|
Installed package-dev to ${TMP}/install
|
||||||
|
OUT
|
||||||
|
unstub git
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "updating existing git repository" {
|
||||||
|
mkdir -p "${PYTHON_BUILD_BUILD_PATH}/package-dev"
|
||||||
|
stub git \
|
||||||
|
"fetch --depth 1 origin +master : true" \
|
||||||
|
"checkout -q -B master origin/master : true"
|
||||||
|
|
||||||
|
run_inline_definition <<DEF
|
||||||
|
install_git "package-dev" "http://example.com/packages/package.git" master copy
|
||||||
|
DEF
|
||||||
|
assert_success
|
||||||
|
assert_output <<OUT
|
||||||
|
Cloning http://example.com/packages/package.git...
|
||||||
|
Installing package-dev...
|
||||||
|
Installed package-dev to ${TMP}/install
|
||||||
|
OUT
|
||||||
|
unstub git
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user