Merge pull request #7311 from jonchang/tap-shallow
tap: permit creating shallow taps
This commit is contained in:
commit
56090cc03a
@ -25,8 +25,10 @@ module Homebrew
|
||||
using protocols other than HTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
|
||||
EOS
|
||||
switch "--full",
|
||||
description: "Convert a shallow clone to a full clone without untapping. By default, taps are no "\
|
||||
"longer cloned as shallow clones."
|
||||
description: "Convert a shallow clone to a full clone without untapping. Taps are only cloned as "\
|
||||
"shallow clones on continuous integration, or if `--shallow` was originally passed."
|
||||
switch "--shallow",
|
||||
description: "Fetch tap as a shallow clone rather than a full clone. Useful for continuous integration."
|
||||
switch "--force-auto-update",
|
||||
description: "Auto-update tap even if it is not hosted on GitHub. By default, only taps "\
|
||||
"hosted on GitHub are auto-updated (for performance reasons)."
|
||||
@ -51,11 +53,20 @@ module Homebrew
|
||||
elsif args.no_named?
|
||||
puts Tap.names
|
||||
else
|
||||
full_clone = if args.full?
|
||||
true
|
||||
elsif !args.shallow?
|
||||
ENV["CI"].blank?
|
||||
else
|
||||
!args.shallow?
|
||||
end
|
||||
odebug "Tapping as #{full_clone ? "full" : "shallow"} clone"
|
||||
tap = Tap.fetch(args.named.first)
|
||||
begin
|
||||
tap.install clone_target: args.named.second,
|
||||
force_auto_update: force_auto_update?,
|
||||
quiet: args.quiet?
|
||||
quiet: args.quiet?,
|
||||
full_clone: full_clone
|
||||
rescue TapRemoteMismatchError => e
|
||||
odie e
|
||||
rescue TapAlreadyTappedError
|
||||
|
||||
@ -243,7 +243,7 @@ class Tap
|
||||
|
||||
if installed?
|
||||
raise TapRemoteMismatchError.new(name, @remote, requested_remote) if clone_target && requested_remote != remote
|
||||
raise TapAlreadyTappedError, name if force_auto_update.nil?
|
||||
raise TapAlreadyTappedError, name if force_auto_update.nil? && !shallow?
|
||||
end
|
||||
|
||||
# ensure git is installed
|
||||
|
||||
@ -501,7 +501,9 @@ taps can be cloned from places other than GitHub and using protocols other than
|
||||
HTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
|
||||
|
||||
* `--full`:
|
||||
Convert a shallow clone to a full clone without untapping. By default, taps are no longer cloned as shallow clones.
|
||||
Convert a shallow clone to a full clone without untapping. Taps are only cloned as shallow clones on continuous integration, or if `--shallow` was originally passed.
|
||||
* `--shallow`:
|
||||
Fetch tap as a shallow clone rather than a full clone. Useful for continuous integration.
|
||||
* `--force-auto-update`:
|
||||
Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons).
|
||||
* `--repair`:
|
||||
|
||||
@ -635,7 +635,11 @@ With \fIURL\fR specified, tap a formula repository from anywhere, using any tran
|
||||
.
|
||||
.TP
|
||||
\fB\-\-full\fR
|
||||
Convert a shallow clone to a full clone without untapping\. By default, taps are no longer cloned as shallow clones\.
|
||||
Convert a shallow clone to a full clone without untapping\. Taps are only cloned as shallow clones on continuous integration, or if \fB\-\-shallow\fR was originally passed\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-shallow\fR
|
||||
Fetch tap as a shallow clone rather than a full clone\. Useful for continuous integration\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-force\-auto\-update\fR
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user