This commit is contained in:
Dane 2025-12-23 15:42:19 +08:00 committed by GitHub
commit 38ae10cbfa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

18
install
View file

@ -99,7 +99,9 @@ else
fi
fi
INSTALL_DIR=$HOME/.opencode/bin
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
INSTALL_DIR="$XDG_DATA_HOME/opencode/bin"
LEGACY_DIR="$HOME/.opencode/bin"
mkdir -p "$INSTALL_DIR"
if [ -z "$requested_version" ]; then
@ -148,6 +150,19 @@ check_version() {
fi
}
migrate_legacy_installation() {
# Migrate from ~/.opencode/bin to XDG location if needed
if [ -d "$LEGACY_DIR" ] && [ "$LEGACY_DIR" != "$INSTALL_DIR" ]; then
if [ -f "$LEGACY_DIR/opencode" ]; then
print_message info "${MUTED}Migrating from ${NC}$LEGACY_DIR${MUTED} to ${NC}$INSTALL_DIR"
mv "$LEGACY_DIR/opencode" "$INSTALL_DIR/opencode" 2>/dev/null || true
# Try to clean up empty directories
rmdir "$LEGACY_DIR" 2>/dev/null || true
rmdir "$HOME/.opencode" 2>/dev/null || true
fi
fi
}
unbuffered_sed() {
if echo | sed -u -e "" >/dev/null 2>&1; then
sed -nu "$@"
@ -260,6 +275,7 @@ download_and_install() {
}
check_version
migrate_legacy_installation
download_and_install