|
checkout_eval_branch() {
|
|
if [ -z "$COMMIT_HASH" ]; then
|
|
echo "Commit hash not specified, use current git commit"
|
|
return 0
|
|
fi
|
|
|
|
if git diff --quiet $COMMIT_HASH HEAD; then
|
|
echo "The given hash is equivalent to the current HEAD"
|
|
return 0
|
|
fi
|
|
|
|
echo "Start to checkout openhands version to $COMMIT_HASH, but keep current evaluation harness"
|
|
if ! git diff-index --quiet HEAD --; then
|
|
echo "There are uncommitted changes, please stash or commit them first"
|
|
exit 1
|
|
fi
|
|
current_branch=$(git rev-parse --abbrev-ref HEAD)
|
|
echo "Current version is: $current_branch"
|
|
echo "Check out OpenHands to version: $COMMIT_HASH"
|
|
if ! git checkout $COMMIT_HASH; then
|
|
echo "Failed to check out to $COMMIT_HASH"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Revert changes in evaluation folder"
|
|
git checkout $current_branch -- evaluation
|
|
|
|
|
|
trap checkout_original_branch EXIT
|
|
|
|
}
|
|
|
|
|
|
checkout_original_branch() {
|
|
if [ -z "$current_branch" ]; then
|
|
return 0
|
|
fi
|
|
echo "Checkout back to original branch $current_branch"
|
|
git checkout $current_branch
|
|
}
|
|
|
|
get_openhands_version() {
|
|
|
|
|
|
OPENHANDS_VERSION=v$(poetry run python -c "from openhands import get_version; print(get_version())")
|
|
}
|
|
|