It wasn't broken. The tree collapsed around the same time for unrelated reason.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8227036
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105090 0039d316-1c4b-4281-b951-d872f2087c98
I'm not sure if it's causing the tree blow up but I'm not taking any chance.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8228017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104956 0039d316-1c4b-4281-b951-d872f2087c98
This fixes GClientSmokeBoth.testMultiSolutionsJobs flakiness by having
consistent ordering.
Now no out of thread modification is ever done, which result in much saner code.
R=dpranke@chromium.org
BUG=60725
TEST=tested manually with gclient sync --jobs 100 on chrome and with
gclient_smotetest.py
Review URL: http://codereview.chromium.org/8174014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104920 0039d316-1c4b-4281-b951-d872f2087c98
This means parsing the DEPS file all the time preemptively in case it's needed
for a From() reference. This could break certain checkout, we'll see.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8143022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104817 0039d316-1c4b-4281-b951-d872f2087c98
Also, add more locking to properties.
Now most mutations are contained. Will now figure out a way to remove the
ParseDepsFile() from an unrelated thread.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8142030
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104778 0039d316-1c4b-4281-b951-d872f2087c98
This makes coherency checks more consistent for DEPS vs .gclient.
It's still not thread safe but the mutation code paths are easier to follow.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135019
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104772 0039d316-1c4b-4281-b951-d872f2087c98
... On my quest to make that stuff thread safe.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104033 0039d316-1c4b-4281-b951-d872f2087c98
While trying to fix all the multithreading issues...
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104026 0039d316-1c4b-4281-b951-d872f2087c98
Helps figuring out what is mutable and what is not.
The goal is to shorten the class Dependency to reduce places where mutations can occur.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8122005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103782 0039d316-1c4b-4281-b951-d872f2087c98
Merge _FindDependencies() back into __init__() now that __init__() is somewhat smaller.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8059011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103053 0039d316-1c4b-4281-b951-d872f2087c98
First, it reduces the class size, which is too large at the moment.
Second, it makes clear what is 'static' for the livetime of the instance life.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8038015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102766 0039d316-1c4b-4281-b951-d872f2087c98
The dependencies will continue to be managed. A new flag is present in the .gclient file to control this behavior.
Review URL: http://codereview.chromium.org/7918027
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102002 0039d316-1c4b-4281-b951-d872f2087c98
Make Dependency.file_list a tuple so it can't be modified.
Move the guesswork of file_list at the right place.
Remove tree() since it's unnecessary.
R=dpranke@chromium.org
BUG=
TEST=all smoke tests still pass
Review URL: http://codereview.chromium.org/7922011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101951 0039d316-1c4b-4281-b951-d872f2087c98
I had forgot one access to _requirements. Now that tests are run, this change is
safer to commit.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7909012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101856 0039d316-1c4b-4281-b951-d872f2087c98
I need to add real thread locking to some Dependency methods. That was long
needed anyway.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7891053
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101100 0039d316-1c4b-4281-b951-d872f2087c98
I've fixed the From() issue that was causing it to hangs. We'll see if anything
pops up again.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7885028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101084 0039d316-1c4b-4281-b951-d872f2087c98
This would result in a hang during gclient sync.
Includes regression test.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7885008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101070 0039d316-1c4b-4281-b951-d872f2087c98
It should be fine now that requirements with /@ works fine.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7782034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100162 0039d316-1c4b-4281-b951-d872f2087c98
It breaks upstream webkit and nacl. I'll make then both use --jobs 1 before
relanding.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7833051
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99761 0039d316-1c4b-4281-b951-d872f2087c98
Verify correctness with a unit test written explicitly to verify all corner cases.
BUG=60725
TEST=new unit test
Review URL: http://codereview.chromium.org/6598087
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99234 0039d316-1c4b-4281-b951-d872f2087c98
'Cause linux2 is so last decade.
TBR=evan@chromium.org
BUG=85845
TEST=
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88788 0039d316-1c4b-4281-b951-d872f2087c98
url is pointing to a git repo, the name of the directory created on disk will not
contain the .git suffix.
Review URL: http://codereview.chromium.org/7104009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87492 0039d316-1c4b-4281-b951-d872f2087c98
When specifying a revision (with -r) propagates the date of the revision to its children.
Review URL: http://codereview.chromium.org/6873110
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83313 0039d316-1c4b-4281-b951-d872f2087c98
Make sure every site that catches gclient_utils.Error also catch
subprocess2.CalledProcessError.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6691034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80339 0039d316-1c4b-4281-b951-d872f2087c98
Reapply r79006 with fixes for ubuntu 10.4.
The only change is in fix_default_encoding() to trap an exception
locale.getlocale() may throw.
R=dpranke@chromium.org
BUG=none
TEST=unit test
Review URL: http://codereview.chromium.org/6721029
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79144 0039d316-1c4b-4281-b951-d872f2087c98
It is causing exception for some users on ubuntu 10.4 with:
"category LC_ALL is not supported"
TBR=dpranke
Review URL: http://codereview.chromium.org/6717025
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79012 0039d316-1c4b-4281-b951-d872f2087c98
With this code in action, I can successfully print arabic and chinese on linux
and cygwin. It fails to print chinese on my Mac but prints arabic. It prints '?'
on Windows console but it *doesn't throw* which is the biggest improvement here.
It was particularly a problem on windows because WindowsError's description text
is in the current ANSI code page so it failed to print if the text was not pure
ASCII, like error message when using Windows' French UI.
R=dpranke@chromium.org
BUG=none
TEST=manual unit test ./tests/fix_encoding_test.py and it shouldn't throw
Review URL: http://codereview.chromium.org/6676090
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79006 0039d316-1c4b-4281-b951-d872f2087c98
Don't block execution.
Python 2.4 has been untested for a while and may break unexpectedly.
TEST=manual testing
BUG=none
Review URL: http://codereview.chromium.org/5110009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@66870 0039d316-1c4b-4281-b951-d872f2087c98
Make -D -f combination more effective by deleting directories even if there is
modified files.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/4803001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@65845 0039d316-1c4b-4281-b951-d872f2087c98