Commit Graph

669 Commits

Author SHA1 Message Date
Nathan Broadbent
fef74e26a5 Added alias for git pull-request (hub) 2014-12-17 10:52:48 +06:00
Matthew Rothenberg
c6b9c398c8 temp before_script to debug sort order on travis
I tested manually on OSX and linux, but lets make sure the same thing is
true on travis-ci builds.
2014-10-20 15:16:04 -04:00
Matthew Rothenberg
9a9b6104e2 Compatibility fix for Design Assets Management
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.
2014-10-16 17:20:49 -04:00
Matthew Rothenberg
c234916b2b scripts should exit rather than return
some shells are pickier about this.  darwin uses a newer version of sh
that complains about it.  this is the ‘proper’ behavior in either
scenario.
2014-10-16 17:08:29 -04:00
Matthew Rothenberg
ae4b93f52f declare original location of cmds
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()`.
2014-10-16 17:05:43 -04:00
Matthew Rothenberg
1cd162434f Make sure we have physical path back from mktemp
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.
2014-10-16 17:05:43 -04:00
Matthew Rothenberg
b2d86a16b2 use perl instead of sed -r to strip colors in test
`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.
2014-10-16 15:31:12 -04:00
Matthew Rothenberg
b395596496 dont use grep -P for cross-platform compatibility
`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!
2014-10-16 15:26:34 -04:00
Matthew Rothenberg
f056d28b2e remove redundant test envs
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.
2014-10-16 15:25:58 -04:00
Matthew Rothenberg
e7c56c7647 only install zsh on boxes that need it
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.
2014-10-16 15:25:58 -04:00
Matthew Rothenberg
b6fd7ae829 split tests up by shell for concurrency
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.
2014-10-16 15:24:53 -04:00
Matthew Rothenberg
802f4987c3 set up multi-os testing in travis
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.
2014-10-16 15:23:10 -04:00
Matthew Rothenberg
23e99709da integrate branch parsing into single system call
The `git status --porcelain` command can take an additional argument
`-b` which causes the porcelain output to also contain branch
information in a stable and supposedly nonchanging way.

This change adds that argument to the initial `git status` call, and
parses the branch/ahead/behind information from that.  The end result is
the entire call to `git branch -v` can be removed, resulting in one less
subshell command and hopefully a more reliable target across future
versions of git.
2014-10-15 02:41:21 -04:00
Matthew Rothenberg
ed2240e214 BUGFIX: actually clear variables
The current `git_clear_vars()` method appears to have iterated over all
the existing set variable correctly, but never actually bothered to
clear them.
2014-10-15 02:21:35 -04:00
Nathan Broadbent
885cc6fc12 Merge pull request #151 from mroth/zsh_undefine_alias_fix
fix ability to undefine default aliases in zsh
2014-10-04 21:38:22 -07:00
Matthew Rothenberg
f14015fc3e aliases: consistent indentation and quotation
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.
2014-10-02 21:01:58 -04:00
Matthew Rothenberg
70c9501550 fix ability to undefine default aliases in zsh
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.
2014-10-02 20:42:43 -04:00
Nathan Broadbent
2908a3e397 Merge pull request #150 from mroth/gh
`gh` is the new `hub`
2014-10-02 11:27:12 -07:00
Matthew Rothenberg
1e9d60a06a gh is the new hub
`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.
2014-10-02 14:19:36 -04:00
Nathan Broadbent
bda4fab9bd Merge pull request #145 from aero-z/fix-rename-modify
Don't show oldname -> newname for unstaged modifications
2014-07-23 23:12:14 -07:00
Nathan Broadbent
38aeef92e2 Merge pull request #148 from keen99/patch-2
add a bit more detail around install.sh in readme
2014-07-08 14:07:29 -07:00
keen99
ee450688fb add a bit more detail around install.sh in readme
install.sh is really required, you can't just clone source and go.
2014-07-08 17:04:31 -04:00
Nathan Broadbent
47111d274d Merge pull request #147 from keen99/patch-1
_create_or_patch_scmbrc is not noclobber safe
2014-07-08 13:09:40 -07:00
keen99
a1afeef0c4 make _create_or_patch_scmbrc noclobber safe
use >| instead of > to override noclobber on write (works for both bash and zsh)
2014-07-08 16:01:58 -04:00
aero-z
ee5c1e5aa0 Changing the output for git status when there is a rename and modify at the same time 2014-06-12 02:47:56 -04:00
Nathan Broadbent
3e09624f8a Merge pull request #131 from chasballew/git_add_all_deprecation_fix
Fix upcoming Git 2.0 breaking change to `git add -A`.
2014-04-10 00:32:10 -07:00
Nathan Broadbent
61a101176f Merge pull request #137 from ilkka/master
Ensure C locale is used when processing command output
2014-04-10 00:31:31 -07:00
Test User
65088ce716 Ensure C locale is used when processing command output
This change makes sure LC_MESSAGES is set to C whenever command output
is run through grep, sed etc. Otherwise aliasing will fail whenever
localized messages are printed.

This should fix #98 and #64.
2014-04-08 13:21:16 +03:00
LFDM
fe1d4435a7 Refactor, commenting, polishing. 2014-01-29 22:53:20 +01:00
LFDM
33b561ebc1 status_shortcuts.rb completely rewritten 2014-01-29 21:05:24 +01:00
Chas Ballew
413351a203 Fix upcoming Git 2.0 breaking change to git add -A. 2014-01-26 21:02:00 -05:00
David Lee
6860d114fc Fix shortcuts offset when branch_shortcuts encounters detached HEAD (fixes #127) 2013-12-20 00:30:52 -08:00
Nathan Broadbent
7db526b295 Merge pull request #120 from sblask/fix-issue-119-show-more-information-in-gs
Let gs handle commits the branch is behind
2013-11-04 13:11:44 -08:00
Sebastian Blask
b7fa37e1f1 Let gs handle commits the branch is behind
Fixes #119
2013-10-30 17:39:23 +01:00
Nathan Broadbent
878d81a4bd Fix git checkout,diff,reset,rm in deleted directories, if pwd is in git dir 2013-10-22 23:24:54 -07:00
Nathan Broadbent
b224f49850 determine extended regex argument for sed, can be -E or -r (fix #112) 2013-10-22 22:28:39 -07:00
Nathan Broadbent
dc8f8f1fdc Merge pull request #118 from AzizLight/pretty-git-log-all
Add an alias to show a git log with all the branches and remotes
2013-10-22 22:15:19 -07:00
Nathan Broadbent
ede87288e5 Merge pull request #115 from AzizLight/git-commit-verbose
Add an alias to `git commit --verbose`
2013-10-22 22:14:53 -07:00
Nathan Broadbent
9432e8c907 Merge pull request #110 from tuxinaut/master
Git merge aliases
2013-10-22 22:14:31 -07:00
Aziz Light
8d04265578 Add an alias to show a git log with all the branches and remotes 2013-10-20 17:34:27 +02:00
Aziz Light
e8d2a23aa1 Add an example alias for git_commit_verbose_alias to git.scmbrc.example 2013-10-19 15:17:52 +02:00
Nathan Broadbent
e2d98bc7c5 Merge pull request #107 from g5pw/master
Add ZSH completion support
2013-10-17 15:15:23 -07:00
Aziz Light
313cd4c1d2 Add an alias to git commit --verbose 2013-10-10 12:15:38 +01:00
Nathan Broadbent
6b9c9cae49 Updates to README 2013-09-27 15:10:02 -07:00
Nathan Broadbent
412528b54c Added additional info about list_alias commands 2013-09-27 15:08:05 -07:00
Nathan Broadbent
c0060c921b Merge pull request #113 from brianpeiris/patch-1
Add note about other aliases.
2013-09-27 14:57:04 -07:00
Brian Peiris
75cc24ab95 Add note about other aliases. 2013-09-27 15:21:12 -04:00
Denny Schäfer
91b48718d1 Addd gmnff gmff alias for git merge --no-ff and --ff 2013-09-19 09:50:39 +02:00
Nathan Broadbent
e8c79f955c Added git stash pop alias (gashp) 2013-08-29 12:04:26 -07:00
Nathan Broadbent
465bb26284 Merge pull request #106 from tuxinaut/master
Add git merge to the expanded numeric commands
2013-08-26 17:47:56 -07:00