If the shell has the noclobber option set, s --rebuild will fail to
update the .git_index file. Using the >| operator instead of the >
operator forces the .git_index file to be clobbered, which is the
desired behavior.
Adds support for OS X's default bash configuration file,
~/.bash_profile, and more logging during install about
which file, if any, got the source line added.
The README has gotten quite large. Adding a table of contents might help, especially if you're just looking for the installation section. Generated using DocToc: https://github.com/thlorenz/doctoc
This PR replaces `local varname=value` style declarations with `local varname; varname=value`. This solves #168 which caused troubles in zsh environments
this is unrelated to the previous commit and zero functionality but
while I was changing things I wanted to clean up the indentation and
use consistent single quotes versus double quotes in the functions
calls for `_alias()` and `_git_alias()`.
In my opinion this makes the file more readable, but if it bothers you
let me know and I’ll be happy to remove it from the pull request.
The ability to not define default aliases in the `.git.scmbrc` file
leading to not having those aliases not present worked fine in bash.
However, this seems to still have thrown an error in zsh. For example,
if you commented out the line:
git_checkout_alias="gco"
then when sourcing scm_breeze aliases.sh would throw an error.
This applied only to aliases defined with the `_alias()` function and
not those with the `_git_alias()` function.
To fix this, I wrapped `_alias()` in a similar check to the one
`_git_alias()` has, where it passes the portions as arguments and
verifies the first is present before proceeding.
I'm not 100% certain why seperate functions exist for these two things
to begin with (as far as I can tell from a cursory examination the main
difference is `_git_aliases()` defines a tab completion?) but I believe
my change has fixed the ability to comment out aliases in `.git.scmbrc`
in zsh for users who do not want them (I'm in this boat, there are too
many for me and I get confused).
I tested manually in both bash and zsh and it appears to work, however
you might want to review this before merging given my relative
unfamiliarity with the codebase.
`gh` is the new `hub`, rewritten to be fast and efficient.
http://owenou.com/gh/
If has been adopted by GitHub themselves and will replace `hub`
entirely, see:
https://github.com/github/hub/issues/475
This patch simply checks for `gh` as a possible `_git_cmd` in addition
to hub, restoring scm_breeze functionality for people who have switched
to gh.