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!
they were just there when we were making sure the env variable shell
selection was working properly in all cases, now that we know it is,
they can be removed.
don’t bother on macosx (preinstalled) or if the test matrix for that
box isn’t going to be testing in zsh.
this should speed up test runs for most cases, and later we can define
fast_failure and not have to wait for the longer ones.
More parallelism = faster tests. Also better isolation for changes that
might only break on zsh or bash respectively.
This is defined via env variable, so someone running locally will have
all tests run sequentially as before.
Requires beta access, thankfully the travis gods have blessed us for the
main repo and my fork!
This should allow us to make sure scm_breeze operates reliably in both
Linux and BSD/Darwin, because there are small shell differences
(especially with default tools) that are causing errors I noticed on
MacOSX.