mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-04-03 04:20:01 +02:00
installer: use timestamped backups to preserve all old zshrcs
This commit is contained in:
parent
e44aa50301
commit
d9cdc20ce6
2 changed files with 34 additions and 11 deletions
|
|
@ -58,6 +58,30 @@ main() {
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Keep most recent old .zshrc at .zshrc.pre-oh-my-zsh, and older ones
|
||||||
|
# with datestamp of installation that moved them aside, so we never actually
|
||||||
|
# destroy a user's original zshrc
|
||||||
|
printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n"
|
||||||
|
# Must use this exact name so uninstall.sh can find it
|
||||||
|
OLD_ZSHRC=~/.zshrc.pre-oh-my-zsh
|
||||||
|
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
|
||||||
|
if [ -e "$OLD_ZSHRC" ]; then
|
||||||
|
TIMESTAMP="$(date +%Y-%m-%d_%H-%M-%S)"
|
||||||
|
OLD_OLD_ZSHRC="${OLD_ZSHRC}-${TIMESTAMP}"
|
||||||
|
if [ -e "$OLD_OLD_ZSHRC" ]; then
|
||||||
|
echo "Error: $OLD_OLD_ZSHRC exists" >&2
|
||||||
|
echo "Just re-run this again in a couple seconds" &>2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mv "$OLD_ZSHRC" "${OLD_OLD_ZSHRC}"
|
||||||
|
# intentional omitted newline
|
||||||
|
printf "${YELLOW}Found old ~/.zshrc.pre-oh-my-zsh.${NORMAL} "
|
||||||
|
printf "${GREEN}Backing up to ${OLD_OLD_ZSHRC}${NORMAL}\n"
|
||||||
|
fi
|
||||||
|
printf "${YELLOW}Found ~/.zshrc.${NORMAL} ${GREEN}Backing up to ${OLD_ZSHRC}${NORMAL}\n"
|
||||||
|
mv ~/.zshrc "$OLD_ZSHRC";
|
||||||
|
fi
|
||||||
|
|
||||||
# The Windows (MSYS) Git is not compatible with normal use on cygwin
|
# The Windows (MSYS) Git is not compatible with normal use on cygwin
|
||||||
if [ "$OSTYPE" = cygwin ]; then
|
if [ "$OSTYPE" = cygwin ]; then
|
||||||
if git --version | grep msysgit > /dev/null; then
|
if git --version | grep msysgit > /dev/null; then
|
||||||
|
|
|
||||||
|
|
@ -6,24 +6,23 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Removing ~/.oh-my-zsh"
|
echo "Removing ~/.oh-my-zsh"
|
||||||
if [ -d ~/.oh-my-zsh ]
|
if [ -d ~/.oh-my-zsh ]; then
|
||||||
then
|
|
||||||
rm -rf ~/.oh-my-zsh
|
rm -rf ~/.oh-my-zsh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Looking for original zsh config..."
|
echo "Looking for original zsh config..."
|
||||||
if [ -f ~/.zshrc.pre-oh-my-zsh ] || [ -h ~/.zshrc.pre-oh-my-zsh ]
|
ZSHRC_ORIG=~/.zshrc.pre-oh-my-zsh
|
||||||
then
|
if [ -e "$ZSHRC_ORIG" ]; then
|
||||||
echo "Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc";
|
echo "Found $ZSHRC_ORIG -- Restoring to ~/.zshrc";
|
||||||
|
|
||||||
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]
|
if [ -e ~/.zshrc ]; then
|
||||||
then
|
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
|
||||||
ZSHRC_SAVE=".zshrc.omz-uninstalled-`date +%Y%m%d%H%M%S`";
|
ZSHRC_SAVE=~/.zshrc.omz-uninstalled-$TIMESTAMP;
|
||||||
echo "Found ~/.zshrc -- Renaming to ~/${ZSHRC_SAVE}";
|
echo "Found ~/.zshrc -- Renaming to ${ZSHRC_SAVE}";
|
||||||
mv ~/.zshrc ~/${ZSHRC_SAVE};
|
mv ~/.zshrc ${ZSHRC_SAVE};
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc;
|
mv "$ZSHRC_ORIG" ~/.zshrc;
|
||||||
|
|
||||||
source ~/.zshrc;
|
source ~/.zshrc;
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue