Commit Graph

23 Commits

Author SHA1 Message Date
William Grzybowski
607a98b41d Fetch again if origin is different 2018-05-23 13:51:13 -03:00
William Grzybowski
5c528de828 Make sure output is not empty 2018-03-27 19:04:53 -03:00
William Grzybowski
d7123d22f0 Make sure mirror repo is up to date 2018-03-27 17:38:03 -03:00
William Grzybowski
1c1b00c662 Allow repo url to be set using env var
REPO_${reponame_uppercase}_URL
2018-03-27 17:38:03 -03:00
Chris Torek
bf4a28a632 allow reference clones to be bare
Reference clones can be either full or bare clones, now.
(No changes to anything else, only reference clones.)
2017-01-16 18:11:10 -08:00
Jakub Klama
db493353d2 Add mechanism similar to CHECKOUT_ONLY, but for excluding repos from being updated. 2016-12-13 00:52:37 +01:00
Chris Torek
3edc7c8bc3 split "git pull --rebase" into component parts
Sometimes "git pull --rebase" fails with:

    fatal: BUG: get_tempfile_fd() called for inactive object

(I cannot get it to fail for me.)  Recent changes to git made
pull a built-in C program rather than a shell script, and perhaps
the new reference locking code is being tickled badly.  So
for now, change this to

    git fetch && git rebase

which is essentially what the old shell script based "git pull"
would do here (though of course it had to do it the very long
way around, but we should be fine with this short way).
2016-07-22 18:59:59 -07:00
Suraj Ravichandran
43b15e1ce2 Obey $CHECKOUT_ONLY variable whilst doing repo checkouts as well as sandbox checks.
Ticket: #16321
2016-07-22 15:26:15 -07:00
Chris Torek
d6813ce8e3 add option for using reference clones
Use $GIT_REF_PATH, if it is set, to look for reference
clones when doing repo checkouts.

Reference clones are much faster.  In a new, empty build
tree, doing a full clone in my test took over an hour
of real time (1:03:14.36).  Switching to using --reference,
referring to an existing build tree's _BE directory, took
under 3-and-a-half minutes (3:28.50) in one test, and about
5 minutes in another.  That is, about 12 to 18 times
faster.  (Details will depend on your network speed.)

User and system CPU time also dropped dramatically:
    user=448.977 sys=536.946 seconds (no reference)
    user=132.858 sys= 20.595 seconds (first ref test)
    user=173.599 sys=25.108 (second, 5 minute, clone).

To use this effectively we will need to provide a
location for base reference clones.  They should
probably be updated frequently, e.g., via cron jobs;
a stale reference still works but becomes less effective.
2016-03-24 23:24:15 -07:00
Chris Torek
51fba42610 checkout: minor cleanups
Remove a tiny bit of duplicate code before
adding reference clone option.
2016-03-24 22:39:10 -07:00
Vaibhav Chauhan
f3def597c3 Revert "hopefully this will clone git repo a bit faster."
This reverts commit f2612e9850.
2016-03-24 20:36:46 -07:00
Vaibhav Chauhan
f2612e9850 hopefully this will clone git repo a bit faster. 2016-03-24 15:20:01 -07:00
William Grzybowski
cc23d80b78 Move all shebangs to python3 2015-11-04 09:00:15 -02:00
Jakub Klama
d6b76be6b5 typo 2015-10-08 02:56:26 +02:00
Jakub Klama
0f9469a42b Add the ability to checkout all repos from same tag using CHECKOUT_TAG make variable. 2015-10-08 02:54:02 +02:00
William Grzybowski
65738eef08 Allow env var CHECKOUT_SHALLOW to clone using --depth 1 2015-09-23 08:40:07 -03:00
Jakub Klama
0790530ee0 Add ability to checkout selected repos only. 2015-07-15 18:54:42 +02:00
Jakub Klama
062701b1e9 Add switch to checkout script to skip actual checkout and generate repo manifest only. 2015-07-13 13:24:03 +02:00
Jakub Klama
7903f67b4c Add support for checking out particular commit. 2015-07-01 13:14:15 +02:00
Jakub Klama
43964f231e Put everything (checked out repos, build products, release bits) under single directory called _BE.
That will make cleaning build environment easier.
2015-04-27 12:25:40 +02:00
Jakub Klama
551b7502dd Adapt existing build scripts to profiles, fixing typos, missing commas, etc while here. 2015-04-23 19:34:34 +02:00
Jakub Klama
8c7df951b9 Fix package names being longer and longer.
Ticket: #9041
2015-04-23 14:12:47 +02:00
Jakub Klama
acea4ee59b Initial drop-in of FreeNAS 10 build system. 2015-04-22 11:57:31 +02:00