aboutsummaryrefslogtreecommitdiffstats
path: root/Library/ENV/scm/git
AgeCommit message (Collapse)Author
2016-07-15ENV: move to new paths. (#507)Mike McQuaid
Move some stuff formerly in `Library/ENV` around: - Move `Library/ENV/$XCODE_VERSION` to `Library/Homebrew/env/super` as they are all superenv wrappers and all symlinks to the same version. We never needed the "separate shims for separate versions" functionality and it just adds confusion. - Move `Library/ENV/pkgconfig` to `Library/Homebrew/env/pkgconfig` to get more things under `Library/Homebrew` - Move `Library/ENV/scm` to `Library/scm` as these wrappers are not actually used by or related to superenv (or stdenv) in any way.
2016-07-12ENV/scm/git: rewrite in Bash (#496)Xu Cheng
2016-07-11ENV/scm/git: only execute file (#493)Xu Cheng
Fixes #491.
2016-06-19scm/git: allow introspecting path lookupMartin Afanasjew
Print path of first detected Git instead of executing it. This is hidden behind a `--homebrew=print-path` argument that is unlikely to conflict with any existing or future Git flags.
2016-04-08scm/git: prevent exec bomb with 'env :userpaths'Martin Afanasjew
Using `git` from `Formula#install` can cause an exec bomb if used in a formula with `env :userpaths` because that causes both `Library/ENV/4.3` and `Library/ENV/scm` to be in PATH, both of which contain a `git` binary that is the same SCM wrapper. Those will mutually exec each other indefinitely as they fail to detect that they are the same wrapper. Extend the exec-bomb protection to check the paths after all symbolic links have been expanded to prevent this situation. Fixes #43. Fixes Homebrew/homebrew-core#133. Fixed Homebrew/homebrew-core#143. Closes #46. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-03-21scm/git: handle no Xcode/CLT configurationXu Cheng
`/usr/bin/<tool>` will be a popup stub under such configuration. The idea is to let `scm/git` to handle all of git location resolution throughout Homebrew codebase.
2016-02-05ENV: protect against environment being resetMartin Afanasjew
We cannot really recover from this, but at least we'll provide a clearer error message than trying to call `exec` with an empty string.
2016-02-05ENV: protect against RUBYLIB/RUBYOPTMartin Afanasjew
Some things can break in hard to debug ways if users or build scripts set these variables, causing our otherwise quite robust Ruby wrappers to fail. In theory, we could also use `--disable-rubyopt`, but this is not supported in Ruby 1.8 (and we still care about it).
2016-02-05ENV: use HOMEBREW_RUBY_PATH in compiler/SCM shimsMartin Afanasjew
Use the same interpreter for the shims that is also used to run the main Homebrew process (the one invoked via `brew`). The magic basically lies in executing `ruby` with the `-x` option (supported since at least 1.8) and in the following shebang line.
2015-08-06more core file style updated by rubocopXu Cheng
2015-08-03Core files style updates.BrewTestBot
Closes Homebrew/homebrew#42354. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-10-05Simplify dispatch in git wrapperJack Nagel
2014-10-05Remove last usage of StrictSubversionDownloadStrategyJack Nagel
This strategy is only used in one formula, so we can just replace it with a dependency. It could be done with a requirement, but since this is a low-impact change (it only matters for head builds on Leopard), I'm not sure it's worth the effort. The constant is retained for compatibility, though I could find only one other reference to it on GitHub, in a formula that was removed from core almost two years ago.
2014-10-02Move SCM wrappers from Contributions to ENV/scm.Mike McQuaid
Closes Homebrew/homebrew#32615. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>