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
Otherwise I get a stack trace and it's annoying as hell.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8201012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104770 0039d316-1c4b-4281-b951-d872f2087c98
This would have caught a bug in the CQ instead of silently failing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104767 0039d316-1c4b-4281-b951-d872f2087c98
Makes SCM take the |file_list| as a parameter instead of getting it from |options|.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8133032
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104148 0039d316-1c4b-4281-b951-d872f2087c98
BUG=none
TEST=Run unit tests - they should still pass. Run gcl try and git try and make sure there are no errors.
Review URL: http://codereview.chromium.org/8133001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104067 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
While re-reading the code, I thought I had found a bug but I hadn't. So I wrote
the test to document the behavior to not make the same error again.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8121001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103772 0039d316-1c4b-4281-b951-d872f2087c98
The patches needs to by applied 'in-order' to not delete source files.
Added more tests.
R=dpranke@chromium.org
BUG=94330
TEST=
Review URL: http://codereview.chromium.org/8038056
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103309 0039d316-1c4b-4281-b951-d872f2087c98
Also reorder some patchset in preparation to patchset reording CL.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8066012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103147 0039d316-1c4b-4281-b951-d872f2087c98
Since we clobber the .pyc, it's not useful to generate them in the first place.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8060026
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103066 0039d316-1c4b-4281-b951-d872f2087c98
It's annoying to have it crash much later in a member function call when a
trailing backslash is provided.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8056016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103058 0039d316-1c4b-4281-b951-d872f2087c98
Take two at r102841.
Forgot to use $base_dir, so the .pyc files in the checkout were deleted, instead
of the ones in depot_tools. Since some slaves have very large checkouts, they
appeared as hung.
R=cmp@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8059001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103056 0039d316-1c4b-4281-b951-d872f2087c98
When running an interactive python prompt, sys.modules['__main__'] has no
__file__ member.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8051027
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103055 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
Set svn:eol-style=CRLF for all .bat files and everything in bootstrap/win/
Set svn:eol-style=LF for everything else.
Also delete depot_tools/git_cl/ since it's not used anymore.
Review URL: http://codereview.chromium.org/8055016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103051 0039d316-1c4b-4281-b951-d872f2087c98
This is a followup to: http://codereview.chromium.org/8059009/
Only add the file once instead of twice (since the diff has --- and +++ lines for each file).
Strip whitespace at the end (git diffs don't include a \t so split('\t') isn't enough).
Remove leading 'a/' from the path, since git diffs have these.
BUG=none
TEST=manual
Review URL: http://codereview.chromium.org/8050017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102934 0039d316-1c4b-4281-b951-d872f2087c98
Needed to make it so changes containing only *.mm are only sent to Mac trybots by default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8059009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102930 0039d316-1c4b-4281-b951-d872f2087c98
It was kept to easy the transition but it's been a while now.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8056005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102924 0039d316-1c4b-4281-b951-d872f2087c98
Last change exhibited issues with stale .pyc files. Let's leave that bake in a
little to cleanup old .pyc files.
TBR=asvitkine@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8048014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102841 0039d316-1c4b-4281-b951-d872f2087c98
This was causing issues for windows user with notepad2.
Fix trychange.py on python2.5.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8038028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102797 0039d316-1c4b-4281-b951-d872f2087c98
Needed to make it so changes containing only *.mm are only sent to Mac trybots by default.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7925014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102783 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
I heard some people like to review their changes themselves. :)
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8045007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102670 0039d316-1c4b-4281-b951-d872f2087c98
Enforce a reviewer, when $EMAIL_ADDRESS is not set
BUG=
TEST=
Review URL: http://codereview.chromium.org/7988012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102340 0039d316-1c4b-4281-b951-d872f2087c98
It's now live on codereview.appspot, codereview.chromium and the internal
instance so it's far more easier to get review stats now.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7989013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102331 0039d316-1c4b-4281-b951-d872f2087c98
Output details to stderr to make it redirect-friendly. Silence upload.py.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7979034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102277 0039d316-1c4b-4281-b951-d872f2087c98