Commit Graph

260 Commits (04cf03f4a679fac5afb4c397fa3c98135a6d9776)

Author SHA1 Message Date
ilevy@chromium.org f2ed3fb1f0 Add gclient grep for git repos
- Adds a gclient grep command to search through git repos.

BUG=157950


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@167007 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
sivachandra@chromium.org a0ad8ad9c9 'dep_os' paths override 'deps' paths.
BUG=157979


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@166247 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
stuartmorgan@chromium.org 18a4f6a798 Allow specificying that only target_os should be used in a gclient file
This allows specificying that a target OS list should override the base
list instead of adding to it. This is useful for iOS builds, where the
desired behavior is to pull only the iOS deps, not the union of the Mac
and iOS deps.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@165671 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
sivachandra@chromium.org d45e73e88b Allow DEPS file to specify 'target_os'.
BUG=155792


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@163955 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 27ca3a99b4 Add recursion=n syntax to DEPS files.
This will let DEPS files specify a higher local bound for recursion.
Note there is an edge case where a dependency can be initially pulled
in with a lower recursion level and then gets ignored subsequently
when a lower level DEPS overrides it's inclusion level and then
includes the same dependency.  I do not solve this case, as
I am intending to use this syntax for top level deps files.

BUG=155780


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162464 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 1369150868 Make gclient sync use cpu count for default jobs
- On high core, fast machines, jobs=8 is does not offer good
  parallelization.  Switch to use number of local cpus.

R=maruel@chromium.org
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@162072 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org b848d5b703 Fix multi-solution use case with conflicting custom_deps overrides.
Let's say there's 2 solutions, solA and solB, both fetching the dependency depA
with different urls, solA has 'depA': 'http://foo/bar' and solB has 'depA':
From('depB', 'bar').

This case used to not work, because LateOverride() was not called in
verify_validity(), so it was not comparing the resolved urls but instead what is
textually specified in both DEPS files.

Also because LateOverride() was not called, verify_validity() was comparing the
original urls even if custom_deps is specified in the solution(s).

Finally, allow one to mismatch the other IFF one is None.

R=szager@chromium.org
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@161228 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org cd8d8e1702 Correct invalid use of 'is' when '==' should have been used.
R=nsylvain@chromium.org
BUG=


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

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