For now only affect gclient help to figure out if there is any issue with it.
Because of the way it's done, there is no way to disable coloring, which could
be annoying when redirected. This needs to be taken in consideration.
R=dpranke@chromium.org
TEST=manually tested on linux, cygwin and windows, both run manually and
redirected to a text file.
BUG=
Review URL: http://codereview.chromium.org/8365001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106708 0039d316-1c4b-4281-b951-d872f2087c98
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
This eats stdout while gcl is committing, which is annoying. It needs tee-like
support first. Will revisit this change later, reverting in the meantime.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8344085
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106498 0039d316-1c4b-4281-b951-d872f2087c98
Reuse a common lock to reduce the number of locks created. Poor cygwin users.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8353010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106494 0039d316-1c4b-4281-b951-d872f2087c98
It's not supported at the moment and it's misleading.
Support for it should be added eventually.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8357014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106351 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise, I get a stack trace, which is annoying. Here's an example:
$ git cl upload
Current branch help_text is up to date.
Failed to diff against upstream branch refs/heads/foo!
This branch probably doesn't exist anymore. To reset the
tracking branch, please run
git branch --set-upstream help_text trunk
replacing trunk with origin/master or the relevant branch
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8349011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106175 0039d316-1c4b-4281-b951-d872f2087c98
Fix a problem introduced in r105229.
R=cmp@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8349001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106089 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise it breaks naked --revision usage. One example issue is linux_chromeos
applying the revision to cros_deps instead of src.
TBR=dpranke@chromium.org
BUG=100335
TEST=
Review URL: http://codereview.chromium.org/8298002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105522 0039d316-1c4b-4281-b951-d872f2087c98
It will help catch issues like the one we are getting on linux_chromeos where
the ordering of the solution is now by name, causing the default solution to be
used for --revision being the wrong one.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8276020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105387 0039d316-1c4b-4281-b951-d872f2087c98
Note that status() and revert() need to be correctly implemented before finishing this test.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8287002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105369 0039d316-1c4b-4281-b951-d872f2087c98
gclient status using --job 8 by default may return the items in a different
other. Simplify the test by forcing ordering.
TBR=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8275009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105338 0039d316-1c4b-4281-b951-d872f2087c98
This is really bad but the lock is never held for a long time so it 'should' work.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8253008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105195 0039d316-1c4b-4281-b951-d872f2087c98
Improve revert to skip over non managed directory and to clobber invalid
checkouts.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8227033
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105103 0039d316-1c4b-4281-b951-d872f2087c98
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
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