Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
brew
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to JiHu GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
KMSCAKKSCFKA AKFACAMADCAS
brew
Commits
b104623f
Commit
b104623f
authored
12 years ago
by
Adam Vandenberg
Browse files
Options
Downloads
Patches
Plain Diff
Honor GIT env var
parent
5e0cbdab
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Library/Contributions/manpages/brew.1.md
+9
-0
9 additions, 0 deletions
Library/Contributions/manpages/brew.1.md
Library/Homebrew/download_strategy.rb
+21
-13
21 additions, 13 deletions
Library/Homebrew/download_strategy.rb
share/man/man1/brew.1
+11
-0
11 additions, 0 deletions
share/man/man1/brew.1
with
41 additions
and
13 deletions
Library/Contributions/manpages/brew.1.md
+
9
−
0
View file @
b104623f
...
...
@@ -369,6 +369,15 @@ can take several different forms:
## ENVIRONMENT
*
GIT:
When using Git, Homebrew will use
`GIT`
if set,
a Homebrew-built Git if installed, or the system-provided binary.
Set this to force Homebrew to use a particular git binary.
*
EDITOR:
If set, and
`HOMEBREW_EDITOR`
is not, use
`EDITOR`
as the text editor.
*
HOMEBREW
\_
BUILD
\_
FROM
\_
SOURCE:
If set, instructs Homebrew to compile from source even when a formula
provides a bottle.
...
...
This diff is collapsed.
Click to expand it.
Library/Homebrew/download_strategy.rb
+
21
−
13
View file @
b104623f
...
...
@@ -315,6 +315,7 @@ end
class
GitDownloadStrategy
<
AbstractDownloadStrategy
def
initialize
name
,
package
super
@@git
||=
find_git
@unique_token
=
"
#{
name
}
--git"
unless
name
.
to_s
.
empty?
or
name
==
'__UNKNOWN__'
@clone
=
HOMEBREW_CACHE
+
@unique_token
end
...
...
@@ -339,7 +340,7 @@ class GitDownloadStrategy < AbstractDownloadStrategy
if
@clone
.
exist?
Dir
.
chdir
(
@clone
)
do
# Check for interupted clone from a previous install
unless
system
'
git
'
,
'status'
,
'-s'
unless
system
@@
git
,
'status'
,
'-s'
puts
"Removing invalid .git repo from cache"
FileUtils
.
rm_rf
@clone
end
...
...
@@ -348,7 +349,7 @@ class GitDownloadStrategy < AbstractDownloadStrategy
unless
@clone
.
exist?
# Note: first-time checkouts are always done verbosely
clone_args
=
%w[git
clone]
clone_args
=
[
@@git
,
'
clone
'
]
clone_args
<<
'--depth'
<<
'1'
if
support_depth?
case
@spec
...
...
@@ -361,15 +362,15 @@ class GitDownloadStrategy < AbstractDownloadStrategy
else
puts
"Updating
#{
@clone
}
"
Dir
.
chdir
(
@clone
)
do
safe_system
'
git
'
,
'config'
,
'remote.origin.url'
,
@url
safe_system
@@
git
,
'config'
,
'remote.origin.url'
,
@url
safe_system
'
git
'
,
'config'
,
'remote.origin.fetch'
,
case
@spec
safe_system
@@
git
,
'config'
,
'remote.origin.fetch'
,
case
@spec
when
:branch
then
"+refs/heads/
#{
@ref
}
:refs/remotes/origin/
#{
@ref
}
"
when
:tag
then
"+refs/tags/
#{
@ref
}
:refs/tags/
#{
@ref
}
"
else
'+refs/heads/master:refs/remotes/origin/master'
end
git_args
=
%w[git
fetch
origin]
git_args
=
[
@@git
,
'
fetch
'
,
'
origin
'
]
quiet_safe_system
(
*
git_args
)
end
end
...
...
@@ -382,27 +383,34 @@ class GitDownloadStrategy < AbstractDownloadStrategy
ohai
"Checking out
#{
@spec
}
#{
@ref
}
"
case
@spec
when
:branch
nostdout
{
quiet_safe_system
'
git
'
,
'checkout'
,
"origin/
#{
@ref
}
"
,
'--'
}
nostdout
{
quiet_safe_system
@@
git
,
'checkout'
,
"origin/
#{
@ref
}
"
,
'--'
}
when
:tag
,
:revision
nostdout
{
quiet_safe_system
'
git
'
,
'checkout'
,
@ref
,
'--'
}
nostdout
{
quiet_safe_system
@@
git
,
'checkout'
,
@ref
,
'--'
}
end
else
# otherwise the checkout-index won't checkout HEAD
# https://github.com/mxcl/homebrew/issues/7124
# must specify origin/HEAD, otherwise it resets to the current local HEAD
quiet_safe_system
"
git
"
,
"reset"
,
"--hard"
,
"origin/HEAD"
quiet_safe_system
@@
git
,
"reset"
,
"--hard"
,
"origin/HEAD"
end
# http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export
safe_system
'
git
'
,
'checkout-index'
,
'-a'
,
'-f'
,
"--prefix=
#{
dst
}
/"
safe_system
@@
git
,
'checkout-index'
,
'-a'
,
'-f'
,
"--prefix=
#{
dst
}
/"
# check for submodules
if
File
.
exist?
(
'.gitmodules'
)
safe_system
'
git
'
,
'submodule'
,
'init'
safe_system
'
git
'
,
'submodule'
,
'update'
sub_cmd
=
"git checkout-index -a -f
\"
--prefix=
#{
dst
}
/$path/
\"
"
safe_system
'
git
'
,
'submodule'
,
'--quiet'
,
'foreach'
,
'--recursive'
,
sub_cmd
safe_system
@@
git
,
'submodule'
,
'init'
safe_system
@@
git
,
'submodule'
,
'update'
sub_cmd
=
"
#{
@@
git
}
checkout-index -a -f
\"
--prefix=
#{
dst
}
/$path/
\"
"
safe_system
@@
git
,
'submodule'
,
'--quiet'
,
'foreach'
,
'--recursive'
,
sub_cmd
end
end
end
# Try GIT, a Homebrew-built Git, and finally the OS X system Git.
def
find_git
return
ENV
[
'GIT'
]
if
ENV
[
'GIT'
]
return
"
#{
HOMEBREW_PREFIX
}
/bin/git"
if
File
.
exist?
"
#{
HOMEBREW_PREFIX
}
/bin/git"
return
MacOS
.
locate
'git'
end
end
class
CVSDownloadStrategy
<
AbstractDownloadStrategy
...
...
This diff is collapsed.
Click to expand it.
share/man/man1/brew.1
+
11
−
0
View file @
b104623f
...
...
@@ -409,6 +409,17 @@ Homebrew can install formulae via URL, e\.g\. \fBhttps://raw\.github\.com/mxcl/h
.SH "ENVIRONMENT"
.
.TP
GIT
When using Git, Homebrew will use \fBGIT\fR if set, a Homebrew\-built Git if installed, or the system\-provided binary\.
.
.IP
Set this to force Homebrew to use a particular git binary\.
.
.TP
EDITOR
If set, and \fBHOMEBREW_EDITOR\fR is not, use \fBEDITOR\fR as the text editor\.
.
.TP
HOMEBREW_BUILD_FROM_SOURCE
If set, instructs Homebrew to compile from source even when a formula provides a bottle\.
.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment