Commit Graph

252 Commits (ac0ba33c805b2cfe38dded962ef6e21d069e89df)

Author SHA1 Message Date
szager@chromium.org e2e03201e1 Add --spec to the default parameter list.
This simplifies some of the git-submodule stuff.  For example, deps2hooks.bat
can be changed from this:

@echo off
setlocal
set TMP_GCLIENT_FILE=.tmp.gclient
echo solutions=[{"name":".","url":None,"deps_file":".DEPS.git"}] > %TMP_GCLIENT_FILE%
FOR /F "delims=" %%a in ('call gclient hookinfo --gclientfile=%TMP_GCLIENT_FILE%') do set HOOKINFO=%%a
set HOOKINFO="call %HOOKINFO:;= & call%"
cd ..
cmd /c %HOOKINFO%
del /F src\%TMP_GCLIENT_FILE%
 
... to this:

@echo off
setlocal
call gclient runhooks --spec="solutions=[{'name':'src','url':None,'deps_file':'.DEPS.git'}]"
 

Review URL: https://chromiumcodereview.appspot.com/10835045

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@149223 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 9aa1ce5190 Enable back parallel sync on cygwin.
Cygwin used to have a bug where the number of lock was very limited, causing it
to crash when --jobs was used with a value different than 1. This bug seems to
have been fixed a few months ago as I can't reproduce the anymore after
extensive usage.

R=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10689194

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@146798 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 0f8a944d84 [depot_tools] Allow gclient runhooks to work offline w/safesync_url.
R=maruel@chromium.org
BUG=None (AFAIK)
TEST=Turn off networking, run gclient runhooks.

Review URL: https://chromiumcodereview.appspot.com/10750007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@145878 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@chromium.org f8c95cd868 Add 'android' to possible deps_os values.
Review URL: https://chromiumcodereview.appspot.com/10479004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@140114 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
haitao.feng@intel.com 306080c46d Make gclient pack work again by not prefixing "thread_id>"
into stdout and creating the GitDiffFilterer for git repository

BUG=125894
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135324 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
peter@chromium.org 1efccc8bc7 Add the ability to specify a target_os for gclient solutions
This ability is useful for versions of Chromium (i.e. Android) which want to
cross-compile to another platform that has a fixed set of custom dependencies.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134280 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bradnelson@google.com 4949dabad0 Avoid parallel sync in general on arm boards.
Previous attempts inside the buildbot config missed some places.
This just does it directly in gclient.

Review carefully, this is a depot_tools change.

BUG=None
TEST=None
R=maruel@chromium.org,dschuff@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132997 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@google.com b9a78d31ba Added `gclient hookinfo`. This will be used to convert hooks into
repo post-sync hooks.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126426 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 288054dae1 Add --ignore to gclient recurse
This permits running git grep over the dependencies. With --ignore, gclient
recurse continues even if nothing is found in a dependency. Without this flag,
git grep returns 1 when nothing is found, causing gclient to stop processing the
remaining dependencies.

TBR=nsylvain@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124914 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
davidbarr@chromium.org 47ca0ee560 Rework gclient 'recurse' command to use a WorkQueue.
Support --jobs in 'fetch' and 'recurse' commands. 

BUG=115840
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124657 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
davidbarr@chromium.org 12f944e327 Add 'fetch' command to gclient with support for --jobs.
The fetch command is simply an alias for:
gclient recurse -s git git fetch origin

Rework 'recurse' command to use a WorkQueue so that --jobs is supported.

BUG=115840
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124334 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 823259a1bf Remove a check that would break with pinned revision using ssh protocol with a user name in the url
An example use case is github over ssh at a pinned revision.

R=petermayo@chromium.org
BUG=115202
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123325 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 82798cbb32 Enforce python 2.6 or later.
TBR=bevc@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123276 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 98e6945846 If both -R and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory 
to deps/. Currently, the directory in question is likely to remain in the 
working copy, despite having been removed, due to the presence of untracked 
files. This causes the checkout from deps/ to fail. 

With this change, when both --reset and --delete_unversioned_trees are 
specified, the the directory in question will be removed from the working copy, 
thereby allowing the copy in deps/ to be checked out correctly. 

Note that untracked directories which are explicitly ignored (ie in .gitignore 
or svn:ignore) will not be removed. 

Note that this was previously landed in http://codereview.chromium.org/9348054 
but reverted due to problems with symlinks in the chromeos build. 

BUG=112887, chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122300 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 30159da655 Revert r121986 "If both -f and -D are specified when updating, remove all untracked directories"
Caused issues with chromium.chromiumos bots.

TBR=steveblock@chromium.org
BUG=112887

TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122098 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 93567043f9 If both -f and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory
to deps/. Currently, the directory in question is likely to remain in the
working copy, despite having been removed, due to the presence of untracked
files. This causes the checkout from deps/ to fail.

With this change, when both --force and --delete_unversioned_trees are
specified, the the directory in question will be removed from the working copy,
thereby allowing the copy in deps/ to be checked out correctly.

Note that untracked directories which are explicitly ignored (ie in .gitignore
or svn:ignore) will not be removed.

BUG=112887,chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121986 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 8586c65e2f Revert r118008 "Try to unbreak the webkit canary bots."
TBR=thakis@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@118017 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
thakis@chromium.org 4f474b6e6f Try to unbreak the webkit canary bots.
BUG=108515

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@118008 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 051c88b9c0 [depot_tools] Disabling new git checkouts with safesync_urls until fixed.
R=maruel@chromium.org
TEST=gclient sync a freshly configured client.
BUG=106015


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115452 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dbeam@chromium.org e5d1e61dc3 [depot_tools] Adding safesync_url for git and git-svn checkouts.
R=maruel@chromium.org
TEST=Configure a checkout using the NewGitWorkflow with a safesync_url and everything works (though possibly with a really long git svn fetch time).
BUG=106015

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115011 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
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