| Age | Commit message (Collapse) | Author | 
 | 
Supposed to be POSIX-compatible. Proved to work in dash, yash and whatever
alpine uses. See https://unix.stackexchange.com/a/371873
 | 
 | 
 | 
 | 
This facilitates testing of changes to the core installation code: you'll be
able to do a roundtrip test of install and uninstall using the working code on
your branch.
Controlled by passing $REPO and $BRANCH environment variables to install.sh.
 | 
 | 
This changes the behavior to default to the binary found first in $PATH,
then checking it's actually in the shells file (/etc/shells).
If that fails go back to the previous behavior, but actually check that
the path obtained exists in the filesystem.
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
 | 
 | 
Co-authored-by: Fredrik Fornwall <fredrik@fornwall.net>
 | 
 | 
Guard clauses are if constructs that return early if there is an error
that prevents continuing. This way there isn't a big nesting of if
expressions.
 | 
 | 
Otherwise we risk a situation where a full path to `zsh` is commented, i.e.:
    #/usr/local/bin/zsh
 | 
 | 
This replaces the currently running process with the new one using `exec`
instead of creating a new process. This way, when the user `exit`s out of
the new shell it will not pop them back into the shell from which ohmyzsh
was installed from.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
This will allow us to use tab stripping heredocs with `<<-'.
See http://www.tldp.org/LDP/abs/html/here-docs.html#EX71A
Add editorconfig file to enforce this style.
See http://editorconfig.org for more information.
 | 
 | 
 | 
 | 
 | 
 | 
This early return made it so the lock wasn't removed, therefore locking out
the upgrade script from ever entering the upgrade routine.
Fixes #6138 
Note: the logic needs some rework.
 | 
 | 
* Updating Oh My Zsh shop URLs
Linking directly to the Oh My Zsh inventory vs the top-level store with non-OMZ items.
* Updating link to Oh My Zsh products in the install script
* Updating link to Oh My Zsh shop products in the upgrade script
* Getting rid of 't-' in shirts for now
 | 
 | 
Fixes #7492
 | 
 | 
* use https everywhere
* use https links on the files that are left
Also, removed some broken links and updated redirections.
 | 
 | 
Otherwise these files are not sourced:
  1. /etc/zprofile
  2. ~/.zprofile
  3. /etc/zlogin
  4. ~/.zlogin
  5. ~/.zlogout
  6. /etc/zlogout
 | 
 | 
 | 
 | 
Quote $ZSH where necessary in install script
 | 
 | 
`[Oh My Zsh] Would you like to check for updates? [Y/n]: ` does not make sense, 
since answering yes will download/apply the new updates instead of checking for them.
 | 
 | 
 | 
 | 
Fixes #4955
Closes #5931
Closes #6398
Co-authored-by: Void <vst4rbot@gmail.com>
Co-authored-by: Kaleb Elwert <belak@coded.io>
 | 
 | 
Quick fix to the script not finding git due to hash.
Solves #6697.
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
This makes things work even on system lacking /bin/sh, such as on
non-rooted Android systems.
 | 
 | 
See robbyrussell@b67961d
 | 
 | 
 | 
 | 
When the user is asked to update oh-my-zsh it says "[Oh My Zsh] Would
you like to check for updates? [Y/n]:". When the user agreed to update
the next text would say "Upgrading Oh My Zsh" which is inconsistent
with the question.
 | 
 | 
Also accept any forms of yes as an answer to the "do you want to update?" prompt
 | 
 | 
 | 
 | 
 | 
 | 
- Need dot `.` for POSIX compliant instead of `source`
 - Use modern syntax for command substitution
 - Fix missing double quotes
 | 
 | 
Really this time :P
Fixes #4533
 | 
 | 
 | 
 | 
We need to use POSIX syntax. This file is no longer executed with zsh.
Fixes #4483.
 | 
 | 
Drops the `function` keyword and uses only `func(){}` syntax as per the
POSIX specification:
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_05
Related: #4531
 | 
 | 
This reverts commit c9d93757e82785a0fd1e0d1222f5d61e01849703, which
makes it fail with a syntax error:
  sh: 1: Syntax error: "(" unexpected
 | 
 | 
Fix install.sh/upgrade.sh for tput-less systems
 | 
 | 
Check for git before trying to upgrade OMZ
 | 
 | 
This changeset wraps all of the commands in tools/install.sh in a
function and then calls that function as the last line of the
script.
The current install instructions ask the user to download the install
script using `curl` and pass the result to `sh`. This is totally
fine (as long as both the instructions and the script itself are served
using HTTPS), but the script should be written in a way such that it
doesn't start trying to actually *do* anything until the very last line.
The reason is due to the way `curl` work: if the socket drops before the
request is complete (server abruptly hangs up, client's internet flakes
out, etc.), `curl` will return the partial data that it received. Here
is an example of that:

A way this might cause issues for tools/install.sh is if the connection drops
after cloning but before the repository (L53-56). The .zshrc
configuration will not be copied and the shell will not be changed, but
if the user tries to run the install script again it will claim
oh-my-zsh is already installed (L31-39).
While this is not a particularly dangerous error condition (the user can
just delete .oh-my-zsh and re-run), it can certainly be confusing for
new users. This also helps future-proof the script for a time when it
might need to use a "dangerous" command, e.g. `rm`, and we want to make
sure it happens in the most transactional way possible.
 | 
 | 
installer: ignore errors in color setup, for FreeBSD portability
 | 
 | 
@fcrozat's original fix assumes `which` not to output anything to STDOUT
in case the command is not found. That is not necessarily true on all
systems. A better solution is to check the return value instead.
Fixes #4376
 | 
 | 
 | 
 | 
Prompt the user before removing oh-my-zsh from the system
 |