• danakj's avatar
    Allow the bot_update api to not fetch tags from the git server. · c41f72cf
    danakj authored
    There are 3 layers modified, starting from the bottom up:
    
    1. git_cache.py populate
    
    Now takes a --no-fetch-tags option. If specified, the cache will not
    fetch updated tags from the server by passing --no-tags to git fetch.
    This prevents the server from sending all the tag refs. In chromium
    this prevents significant time bottlenecks dealing with 10k+ tags.
    
    2. bot_update.py
    
    bot_update has to deal with multiple git repos, it has the root repo
    that is checked out through git-cache, as well as repos synched via
    DEPS and gclient.
    
    The script now takes a --no_fetch_tags option. If specified,
    the git-cache populate call will include --no-fetch-tags. Otherwise, it
    won't. So this controls (for chromium) if fetches to the src.git server
    are passed --no-tags.
    
    3. bot_update/api.py
    
    This is the entry point for recipes and also has to deal with multiple
    git repos. The behaviour at this point is not changed from the default.
    A |no_fetch_tags| parameter is added to ensure_checkout() that defaults
    to False.
    
    
    This CL is a refactor with no intended behavior change.
    
    The next step will be to change the chromium build repo to pass True
    for ensure_checkout(no_fetch_tags) on chromium trybots.
    
    This represents solution #2 in
    https://docs.google.com/document/d/1hDIunJjjfpmr50y3YnZ4o3aq1NZF4gJa1TS0p7AIL64/edit#
    
    Bug: 1019824
    Change-Id: I935430603299daa9e301a95a5184c0ce486fd912
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1894352Reviewed-by: 's avatarAaron Gable <agable@chromium.org>
    Reviewed-by: 's avatarErik Chen <erikchen@chromium.org>
    Commit-Queue: danakj <danakj@chromium.org>
    Auto-Submit: danakj <danakj@chromium.org>
    c41f72cf
Name
Last commit
Last update
..
gstools Loading commit data...
OWNERS Loading commit data...
auth_test.py Loading commit data...
bot_update_coverage_test.py Loading commit data...
cipd_bootstrap_test.py Loading commit data...
download_from_google_storage_unittest.py Loading commit data...
fix_encoding_test.py Loading commit data...
gclient_eval_unittest.py Loading commit data...
gclient_scm_test.py Loading commit data...
gclient_smoketest.py Loading commit data...
gclient_test.py Loading commit data...
gclient_utils_test.py Loading commit data...
gerrit_util_test.py Loading commit data...
git_cache_test.py Loading commit data...
git_cl_creds_check_report.txt Loading commit data...
git_cl_test.py Loading commit data...
git_common_test.py Loading commit data...
git_dates_test.py Loading commit data...
git_drover_test.py Loading commit data...
git_footers_test.py Loading commit data...
git_hyper_blame_test.py Loading commit data...
git_number_test.py Loading commit data...
git_rebase_update_test.py Loading commit data...
gsutil_test.py Loading commit data...
metrics_test.py Loading commit data...
ninjalog_uploader_test.py Loading commit data...
owners_finder_test.py Loading commit data...
owners_unittest.py Loading commit data...
presubmit_unittest.py Loading commit data...
recipes_test.py Loading commit data...
roll_dep_test.py Loading commit data...
scm_unittest.py Loading commit data...
subprocess2_test.py Loading commit data...
upload_to_google_storage_unittest.py Loading commit data...
watchlists_unittest.py Loading commit data...