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
design.sh uses `readlink -m` to determine canonical path of git dir,
which is not available on all *nix systems (including Darwin).
Instead, use `pwd -P` to get canonical directory path in a more
cross-platform compatible way.
This is a change to an actual script rather than just a test, and it
should make the Design Assets Management functionality of scm_breeze
now function properly on MacOSX.
The previous tests assumed default locations for all commands, however
they do not exist in the same place on all *nixes. I encountered this
when the test was failing on MacOSX where it was expected hardcoded
`/bin/sed` when in fact the code was identifying the correct local
expansion of `/usr/bin/sed`.
To make this test more robust, it now checks for the original location
of all cmds and uses that in its expansion tests for
`test_shell_command_wrapping()`.
Darwin actually symlinks /var inside /private, but mktemp reports back
the logical pathat time of file creation. So make sure we always get
the full physical path to be absolutely certain when doing comparisons
later, because thats how the Ruby status_shortcuts.rb script is going to
obtain them.
`sed -r` is not present on some BSD based systems, including MacOSX
Darwin. perl is standard pretty much everywhere, so this a more
reliable way to test.
Since this is only used for tests, any performance differences
should not matter significantly.
`grep -P` gives access to the PCRE matching engine, which is nice,
however, the version of grep shipped on many BSD systems (including
Darwin) does not have this flag.
Currently, `grep -P` was being used in the `_includes()` test helper.
For cross platform compatibility in tests, do not rely upon this option.
Luckily, all existing tests seem to work fine without it already!