Commit Graph

232 Commits (ddd59417c0e818f70c9d1dc901cd68570100aa64)

Author SHA1 Message Date
maruel@chromium.org da78c6f1b6 Reapply r106708 "Include initial use of colorama"
isatty() wasn't defined on Windows, causing it to crash.

R=dpranke@chromium.org
BUG=
TEST=manually gclient sync on windows


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106865 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org d8aba2cea8 Revert "Include initial use of colorama"
Crashes.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106709 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 037bd18864 Include initial use of colorama
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
14 years ago
maruel@chromium.org 410716147d Disable parallel sync on cygwin since it's flaky for users.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106359 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f2ff948d80 Remove the --jobs option to recurse
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
14 years ago
maruel@chromium.org b9be065ac1 Do not sort solutions anymore, only dependencies specified in DEPS files.
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
14 years ago
maruel@chromium.org 69392e7ca7 Prepare to make --revision <number> to be an error when multiple solutions are present.
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
14 years ago
maruel@chromium.org 9d9f21011f Update default --jobs argument to 8
BUG=60725

R=dpranke@chromium.org
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105377 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 36ac239bd3 Reapply r104938 "Make svn update not prompt during a sync."
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
14 years ago
maruel@chromium.org edb6ea6ea5 Revert r104938 "Make svn update not prompt during a sync."
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
14 years ago
maruel@chromium.org 94aa50fce3 Make svn update not prompt during a sync.
Otherwise it may hangs in various ways.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104938 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 470b543fcf Stop modifiying requirements out of thread and generate it instead.
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
14 years ago
maruel@chromium.org 3223edd588 Have the DEPS only parsed in the relevant thread.
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
14 years ago
maruel@chromium.org baa7be383a Move mutation in run() at the end.
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
14 years ago
maruel@chromium.org 0bcfd18035 Move all mutations into a specific place.
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
14 years ago
maruel@chromium.org a91d26de47 Force requirements modification to be locked.
... 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
14 years ago
maruel@chromium.org 1333cb3edb Improve logging and ease debugging.
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
14 years ago
maruel@chromium.org 8c0d95826a Move more immutable members to DependencySettings.
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
14 years ago
maruel@chromium.org ad3287e8da Move yield_full_tree() in its own member function.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103757 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 4a271d52c4 Skip non existing directory in gclient recurse
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103525 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 064186cfb9 Dependency.url is also immutable. Convert more member as properties.
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
14 years ago
maruel@chromium.org 4bdd5fd5ae Move dependencies to a (to be) locked property.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102777 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8ac2b27f3b Split static data from logic.
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
14 years ago
maruel@chromium.org f13a418654 Move more members as property
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102211 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
cmp@chromium.org eb2756dfc4 Add a --unmanaged flag to gclient config to allow the main solution to be unmanaged by the scm.
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
14 years ago
maruel@chromium.org 6898897529 Continue conversion to more properties.
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
14 years ago
maruel@chromium.org d6db3d5398 Use properties for more members that do not change
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101950 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6ca8bf80b4 Retry "Initial step into making Dependency thread safe""
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
14 years ago
maruel@chromium.org 3c74bc9df5 Fix member lookup to be more stable.
Add regression test.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101351 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org adcf5b702d Revert "Initial step into making Dependency thread safe"
Broke the tree. :(

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101136 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 89d51c245c Initial step into making Dependency thread safe
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101135 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8fbb77614d Revert to --jobs 1 again.
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
14 years ago
maruel@chromium.org 8b36594b47 Sets --jobs 8 as the default.
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
14 years ago
maruel@chromium.org 485dcab61e Fix the case where a dep not processed could be set as a requirement.
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
14 years ago
maruel@chromium.org 1ba646fccc Remove gclient_utils.Popen() usage from gclient.py
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100173 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ad9c97b6c2 Revert r100162 "Change default --jobs value from 1 to 4.""
One day it'll work. It still breaks webkit.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100168 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 442ab8fcb2 Reapply r99735 "Change default --jobs value from 1 to 4."
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
14 years ago
maruel@chromium.org 98023dfb35 Urls with /@ won't be processed correctly when used as a requirements.
This is important for parallel checkout.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99981 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 3187f70542 Revert r99735 "Change default --jobs value from 1 to 4."
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
14 years ago
maruel@chromium.org ee118f98d6 Change default --jobs value from 1 to 4.
It is now safe to use.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99735 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 118fb1cdcb Fix parallelization of multiple solutions once for all.
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
14 years ago
maruel@chromium.org 0895b75236 Move the parser creation code in its own function to enable unit testing.
Unit test follow in next CL.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98480 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org 26dd22b8ca GTTF: make gclient config overwrite the .gclient file if it exists
This prevents bots waiting 20 minutes and failing the update step.
Review URL: http://codereview.chromium.org/7492019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@93678 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
bauerb@chromium.org 2aad1b262d Add --merge option to gclient sync.
BUG=none
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@93611 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 244e344739 Add linux3 support.
'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
14 years ago
nsylvain@google.com 12649efc71 Modify "gclient config url" to act a little bit more like "git clone url". If the
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
14 years ago
nsylvain@google.com efc8093168 Add a --deps-file flag to gclient to allow using a deps file other than DEPS.
TEST=covered by gclient_smoketest.py
Review URL: http://codereview.chromium.org/7062029

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87367 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org 6e043f755b Remove unmaintained "gclient export" command,
introduced in http://src.chromium.org/viewvc/chrome?view=rev&revision=20990

It was intended for the tarball generation script,
but there was a better and simpler way.

BUG=80549
Review URL: http://codereview.chromium.org/6883263

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83708 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
floitsch@google.com eaab784bcf Add --transitive flag.
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
14 years ago
maruel@chromium.org 31cb48a436 First pass to transition away for gclient_utils.Error and gclient_utils.CheckedCallError.
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
14 years ago