You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
maruel@chromium.org 6c48a304d4 Fix a concurrency issue happening with deep dependencies when the intermediary
directory doesn't exist, on fresh checkout and --jobs >1.

It happens in the case where there is 3 dependencies:
a
a/b/c/d
a/b/c/e

'a' is processed first. Then 'a/b/c/d' and 'a/b/c/e' are fired simultaneously.
If both are not present, both svn checkout tries to mkdir b and b/c and a race
condition occurs between their call for isdir() and mkdir().

This works around the issue by creating the intermediary directories ourself
before calling out svn and managing the error ourself.

TBR=dpranke@chromium.org
BUG=
TEST=fresh checkout shouldn't be flaky


Review URL: http://codereview.chromium.org/8359018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
bootstrap Fix EOL issues. 14 years ago
tests Fix a concurrency issue happening with deep dependencies when the intermediary 14 years ago
third_party
zsh-goodies
.gitignore
LICENSE
OWNERS
PRESUBMIT.py
README
README.codereview
README.gclient Fix EOL issues. 14 years ago
README.git-cl
README.testing
WATCHLISTS
apply_issue.py Fix handling of file renames. 14 years ago
breakpad.py Add a unit test to breakpad. 14 years ago
cbuildbot
checkout.py Fix handling of file renames. 14 years ago
chrome-update-create-task.bat Fix EOL issues. 14 years ago
chrome-update.bat Fix EOL issues. 14 years ago
chrome-update.py
chrome_set_ver
chromite
chromite_wrapper Update chromite wrapper 14 years ago
codereview.settings
commit_queue.py
cpplint.bat Fix EOL issues. 14 years ago
cpplint.py
cpplint_chromium.py
create-chromium-git-src
cros_sdk
drover Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
drover.bat Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
drover.py
fix_encoding.py
gcl Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
gcl.bat Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
gcl.py Revert r106358 "Get rid of RunShell*() functions in gcl.py to finish the conversion to subprocess2" 14 years ago
gclient Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
gclient.bat Fix EOL issues. 14 years ago
gclient.py Disable parallel sync on cygwin since it's flaky for users. 14 years ago
gclient_scm.py Fix a concurrency issue happening with deep dependencies when the intermediary 14 years ago
gclient_utils.py Fix a concurrency issue happening with deep dependencies when the intermediary 14 years ago
git-cl Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
git-cl-upload-hook
git-gs
git-try Enable PYTHONDONTWRITEBYTECODE=1 as much as possible. 14 years ago
git_cl.py Improve error message when the upstream branch is wrong. 14 years ago
git_try.py Move the logging handler hack after the last use of subprocess2 before options are parsed and logging is properly configured with basicConfig. This re-enables git try --verbose/--dry_run. 14 years ago
hammer
hammer.bat Fix EOL issues. 14 years ago
my_reviews.py Add distinction for review made by himself. 14 years ago
owners.py
patch.py Fix handling of file renames. 14 years ago
presubmit_canned_checks.py
presubmit_support.py Add assert to make sure the files argument type is valid. 14 years ago
profile.xml
pylintrc
repo
rietveld.py Strip url trailing backslash. 14 years ago
scm.py Reapply r104938 "Make svn update not prompt during a sync." 14 years ago
subprocess2.py
trychange.py Add repo-managed checkout support to trychange.py 14 years ago
update_depot_tools change -delete to -exec rm {} \; 14 years ago
watchlists.py
weekly
wtf

README

This package contains tools for working with Chromium development.

The "gclient" wrapper knows how to keep this repository updated to
the latest versions of these tools as found at:

    http://src.chromium.org/svn/trunk/tools/depot_tools

This package contains:

  chrome-update-create-task.bat
    Creates a scheduled task to do an automatic local chromium build every day.

  cpplint.py
    A copy of our linting tool which enforces Google style. Fetched from
    http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py

  gcl
    A tool for uploading and managing code reviews on the Chromium
    project, using the Rietveld code review tool.  More info at:
    http://code.google.com/p/rietveld/

  gclient
    A script for managing a workspace with modular dependencies that
    are each checked out independently from different repositories.
    More info at:
    http://code.google.com/p/gclient/

  hammer
    A wrapper script for building Chromium with the SCons software
    construction tool.  More info at:
    http://www.scons.org/

Note: svn and python will be installed automatically if not accessible (on
Windows only).

To update this distribution manually, run bootstrap\gclient.bat on Windows,
or bootstrap/gclient.sh on Linux or Mac.

To disable automatic updating, set the environment variable DEPOT_TOOLS_UPDATE=0