38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
cd /data/openpilot
|
|
echo "Internet connection established, proceeding with update."
|
|
|
|
# Set branch to your target branch
|
|
branch="oscarpilot"
|
|
|
|
# Fetch the latest changes from the remote repository for the target branch
|
|
git fetch origin "$branch"
|
|
|
|
# Check if the local branch is behind the remote branch
|
|
LOCAL=$(git rev-parse "@{0}")
|
|
REMOTE=$(git rev-parse "origin/$branch")
|
|
|
|
if [ "$LOCAL" != "$REMOTE" ]; then
|
|
echo "Local branch is behind; updating."
|
|
|
|
# Checkout the target branch forcefully, ignoring submodules as in the Python example
|
|
git checkout --force --no-recurse-submodules -B "$branch" "origin/$branch"
|
|
|
|
# Reset the local changes hard, clean the directory including untracked files and directories,
|
|
# and ensure submodules are in sync, updated, and also reset hard
|
|
git reset --hard
|
|
git clean -xdff
|
|
git submodule sync
|
|
git submodule update --init --recursive
|
|
git submodule foreach --recursive git reset --hard
|
|
|
|
echo "Repository and submodules have been updated and cleaned."
|
|
|
|
# Run git cleanup in the repository directory
|
|
git gc
|
|
git lfs prune
|
|
|
|
echo "Repository cleanup has been completed."
|
|
else
|
|
echo "Already at the latest version; no update needed."
|
|
fi
|
|
bash launch_openpilot.sh |