mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
update-test: use git clone --local instead of copy
The .git directory in BrewTestBot is huge(1GB) which results to poor performance of `brew update-test`. Therefore, let's use `git clone --local` here which will create hard symlink to boost performance. Closes Homebrew/homebrew#44005. Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
parent
d6a50f1e76
commit
a25fc67813
@ -2,18 +2,20 @@ require "extend/ENV"
|
|||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
def update_test
|
def update_test
|
||||||
|
cd HOMEBREW_REPOSITORY
|
||||||
|
start_sha1 = Utils.popen_read("git", "rev-parse", "origin/master").chomp
|
||||||
|
end_sha1 = Utils.popen_read("git", "rev-parse", "HEAD").chomp
|
||||||
|
|
||||||
mktemp do
|
mktemp do
|
||||||
curdir = Pathname.new(Dir.pwd)
|
curdir = Pathname.new(Dir.pwd)
|
||||||
|
|
||||||
oh1 "Setup test environment..."
|
oh1 "Setup test environment..."
|
||||||
# copy Homebrew installation
|
# copy Homebrew installation
|
||||||
cp_r HOMEBREW_REPOSITORY/".git", curdir/".git"
|
safe_system "git", "clone", "--local", "#{HOMEBREW_REPOSITORY}/.git", "."
|
||||||
start_sha1 = Utils.popen_read("git", "rev-parse", "origin/master").chomp
|
|
||||||
end_sha1 = Utils.popen_read("git", "rev-parse", "HEAD").chomp
|
|
||||||
|
|
||||||
# set git origin to another copy
|
# set git origin to another copy
|
||||||
cp_r HOMEBREW_REPOSITORY/".git", curdir/"remote.git"
|
safe_system "git", "clone", "--local", "--bare", "#{HOMEBREW_REPOSITORY}/.git", "remote.git"
|
||||||
safe_system "git", "config", "remote.origin.url", "file://#{curdir}/remote.git"
|
safe_system "git", "config", "remote.origin.url", "#{curdir}/remote.git"
|
||||||
|
|
||||||
# force push origin to end_sha1
|
# force push origin to end_sha1
|
||||||
safe_system "git", "checkout", "--force", "master"
|
safe_system "git", "checkout", "--force", "master"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user