Commit Graph

503 Commits (1c9c003404cd5b286a33c480b0c3af9297537c3b)

Author SHA1 Message Date
Scott Graham c482674289 Add support for hooks_os in .gclient
This adds support for 'hooks_os' in .gclient which runs the given hooks
only when the associated os is specifed in target_os.

Bug: 706592
Change-Id: If70e51e0e784f8a8c6e45b33f59605b883a16f6e
Reviewed-on: https://chromium-review.googlesource.com/503534
Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
8 years ago
Paweł Hajdan, Jr e2f9feecaf Add validate command to gclient
Inspired by https://chromium-review.googlesource.com/c/411515/ .

Bug: 570091
Change-Id: I7bf9653178c06125ae8be1dee021acfc187b2bdc
Reviewed-on: https://chromium-review.googlesource.com/497848
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
8 years ago
Aaron Gable 3721ee91fe gclient: Don't die on empty .gclient_entries file
Bug: 707313
Change-Id: Ic3860aa6b9aeaba3ec02ab8dac8dd63429f917cc
Reviewed-on: https://chromium-review.googlesource.com/466688
Reviewed-by: Erik Staab <estaab@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
8 years ago
Dirk Pranke da3a29e13e Do not run unconditionally run pre_deps_hooks for dependencies.
Currently if you set `pre_deps_hooks` in your gclient DEPS file,
they will be executed regardless of whether your repo was supposed
to be recursed into (via recursionlimit or recursedeps) or not.

This change fixes that so that we only run the hooks that were
explicitly configured to be run.

R=kjellander@chromium.org, agable@chromium.org
BUG=696495

Change-Id: Ic0ef641903cf3f56d7c2e119d8b0db862258d995
Reviewed-on: https://chromium-review.googlesource.com/447318
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
Dirk Pranke b1550ec8b3 Revert "Make an error on wrong recursedeps entry."
This reverts commit 812462026f.

Reason for revert: This doesn't work for deps_os

Original change's description:
> Make an error on wrong recursedeps entry.
> 
> BUG=685433
> 
> Change-Id: I5eb68c4a3bfd1c93edecf33127a459822f5a23ed
> Reviewed-on: https://chromium-review.googlesource.com/440945
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Dirk Pranke <dpranke@chromium.org>
> 

TBR=dpranke@chromium.org,caseq@chromium.org,chromium-reviews@chromium.org,alex-ac@yandex-team.ru
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=685433

Change-Id: If10b57d77dbff36d140f842d375682a20d69db06
Reviewed-on: https://chromium-review.googlesource.com/440491
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
Dirk Pranke 2418b58763 Revert "Fix an exception when trying to report a non-referenced recursedeps entry"
This reverts commit e06356501e.

Reason for revert: This doesn't work for deps_os.

Original change's description:
> Fix an exception when trying to report a non-referenced recursedeps entry
> 
> Problem originally introduced in https://chromium-review.googlesource.com/c/440945/
> 
> BUG=685443
> 
> Change-Id: I16313bc7c09b0dd68c6ad118004f9d5cdfec0ddd
> Reviewed-on: https://chromium-review.googlesource.com/440394
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Dirk Pranke <dpranke@chromium.org>
> 

TBR=dpranke@chromium.org,caseq@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=685443

Change-Id: I69b59e91b4019af112bd676c125119eee1edddda
Reviewed-on: https://chromium-review.googlesource.com/440490
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
Andrey Kosyakov e06356501e Fix an exception when trying to report a non-referenced recursedeps entry
Problem originally introduced in https://chromium-review.googlesource.com/c/440945/

BUG=685443

Change-Id: I16313bc7c09b0dd68c6ad118004f9d5cdfec0ddd
Reviewed-on: https://chromium-review.googlesource.com/440394
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
Aleksandr Derbenev 812462026f Make an error on wrong recursedeps entry.
BUG=685433

Change-Id: I5eb68c4a3bfd1c93edecf33127a459822f5a23ed
Reviewed-on: https://chromium-review.googlesource.com/440945
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
8 years ago
agable debf6c857c Remove gclient cleanup command
R=maruel@chromium.org
BUG=641588

Review-Url: https://codereview.chromium.org/2401483002
8 years ago
Quinten Yearsley b2cc4a94da depot_tools: Replace pylint error numbers with symbolic names.
This affects a bunch of files, but only changes comments,
and shouldn't make any difference to behavior.

The purpose is to slightly improve readability of pylint
disable comments.

Change-Id: Ic6cd0f8de792b31d91c6125f6da2616450b30f11
Reviewed-on: https://chromium-review.googlesource.com/420412
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
8 years ago
agable a98a6cd47d Remove safesync support from gclient[_scm].py
R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2395013002
9 years ago
sdefresne 69b1be10a4 Fix typo in --manually_grab_svn_rev deprecated flag.
Chrome on iOS downstream bot still use that flag and they cannot
recover as the flag has been misspelt when resurrected.

TBR=agable@chromium.org
TBR=dnj@chromium.org
BUG=656865

Review-Url: https://codereview.chromium.org/2428893002
9 years ago
agable d437d76b64 Reland "Remove SVN and File support from gclient"
This is a revert of 398a46ee09
Which was itself a revert of b3a24c3fd5

BUG=641588

Review-Url: https://codereview.chromium.org/2404413002
9 years ago
lpique 398a46ee09 Revert of Remove SVN and File support from gclient (patchset #4 id:60001 of https://codereview.chromium.org/2398493004/ )
Reason for revert:
The Chrome buildbots pass "--transitive" still. Removing the option causes them to fail to build.

Example:

https://uberchromegw.corp.google.com/i/chromeos.chrome/builders/x86-alex-tot-chrome-pfq-informational/builds/21555

Original issue's description:
> Remove SVN and File support from gclient
>
> FileImpl was only usable with SVN.
>
> R=maruel@chromium.org
> BUG=641588
>
> Committed: b3a24c3fd5

TBR=maruel@chromium.org,agable@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=641588

Review-Url: https://codereview.chromium.org/2405173003
9 years ago
agable b3a24c3fd5 Remove SVN and File support from gclient
FileImpl was only usable with SVN.

R=maruel@chromium.org
BUG=641588

Review-Url: https://codereview.chromium.org/2398493004
9 years ago
agable dce6ddcd21 Propagate use_relative_paths into recursedeps
Currently, if a DEPS file sets use_relative_paths, but *also* sets
recursedeps, then the recursed-upon DEPS files still get checked
out relative to the .gclient root. This change makes it so that
recursed-upon DEPS files check their dependencies out relative to
where their parent wants them to be, if that parent sets
use_relative_paths=True.

R=maruel@chromium.org

Review-Url: https://codereview.chromium.org/2324513003
9 years ago
qyearsley 12fa6ff69b Run auto-spell-checker (codespell) on files in depot_tools.
This should only change spelling in:
 - messages that are printed
 - comments
 - docstrings

Review-Url: https://codereview.chromium.org/2277513002
9 years ago
agable c903d73f3c Give 'gclient revert' a --merge option to match sync
This is a workaround for the fact that 'gclient revert' calls
'gclient update' with the same `options` object, despite not
actually having the same set of command line options.

R=iannucci@chromium.org, kevcheng@chromium.org
BUG=631220

Review-Url: https://codereview.chromium.org/2184493002
9 years ago
smut ae7ea3167e Revert "Remove all safesync_url functionality from gclient"
This reverts commit 99a7f80578.
This reverts commit 2697cd19a7.
This reverts commit 8c51b6f148.
This reverts commit d4aedc811b.

Reason for revert:
Breaks iOS release branch builds.

BUG=623762
TBR=agable,maruel

Review URL: https://codereview.chromium.org/2162583004 .
9 years ago
agable d4aedc811b Switch gclient config to default to unmanaged mode.
BUG=339055
R=hinoka@chromium.org

Review-Url: https://codereview.chromium.org/2099153003
9 years ago
agable 8c51b6f148 Slight fix for gclient readability
R=hinoka@chromium.org

Review-Url: https://codereview.chromium.org/2103663004
9 years ago
agable 2697cd19a7 Restore --head/-H to gclient
R=dmazzoni@chromium.org, maruel@chromium.org
BUG=109184

Review-Url: https://codereview.chromium.org/2105493002
9 years ago
agable 99a7f80578 Remove all safesync_url functionality from gclient
R=maruel@chromium.org
BUG=109184

Review-Url: https://codereview.chromium.org/2087313002
9 years ago
hinoka 885e5b1ee2 Add resource locking in gclient
There are entries in the DEPS file where two folders uses the same
git URL (ie. freetype2).  This doesn't work well with git caches because
each task will run on it's own and might try to clobber on top of each other.

This adds another field in a WorkItem which is a list of resources.  When the
work queue is flushed, it has to make sure that none of a newly added workitem
has any resource conflicts.

BUG=618124

Review-Url: https://codereview.chromium.org/2049583003
9 years ago
levarum@chromium.org 27a6f9a5cb Improve diagnostic message for wrong gclient config
BUG=591814
TEST=gclient sync prints the correct report locally
when config is wrong.

Review-Url: https://codereview.chromium.org/2018803002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300671 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org afa11acce5 Reland: Add ability to override DEPS file in recursedeps
This will allow ANGLE to have a recursible deps-file in their repo instead of
relying on chromium's DEPS file to specify an accurate dependency for itself.

Previously: https://chromiumcodereview.appspot.com/1919103003/

R=agable@chromium.org, dpranke@chromium.org, jmadill@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1948853002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300446 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
martiniss@chromium.org 242de27df2 Revert of Add ability to override DEPS file in recursedeps. (patchset #1 id:1 of https://codereview.chromium.org/1919103003/ )
Reason for revert:
Looks like this broke some bots; see https://build.chromium.org/p/chromium.infra.cron/builders/recipe-autoroller-public/builds/2960

https://build.chromium.org/p/chromium.infra.cron/builders/gsubtreed-luci-py/builds/52912

Original issue's description:
> Add ability to override DEPS file in recursedeps.
> 
> This will allow ANGLE to have a recursible deps-file in their repo instead of
> relying on chromium's DEPS file to specify an accurate dependency for itself.
> 
> R=agable@chromium.org, jmadill@chromium.org
> BUG=
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=300293

TBR=agable@chromium.org,dpranke@chromium.org,jmadill@chromium.org,iannucci@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.chromium.org/1932063002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300304 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org c38fd01b2f Add ability to override DEPS file in recursedeps.
This will allow ANGLE to have a recursible deps-file in their repo instead of
relying on chromium's DEPS file to specify an accurate dependency for itself.

R=agable@chromium.org, jmadill@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/1919103003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300293 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org bf525dc9be Add --break_repo_locks to gclient revert.
CMDupdate and CMDsync have different option parsers, which means they pass 
different options objects to the same underlying code!

R=agable@chromium.org, dnj@chromium.org, smut@chromium.org
BUG=601564

Review URL: https://codereview.chromium.org/1869593004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299777 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 30a07987c2 Revert of Revert "Add (another) argument to break git locks in gclient." (patchset #1 id:1 of https://codereview.chromium.org/1865403003/ )
Reason for revert:
This revert breaks /everything/

Original issue's description:
> Revert "Add (another) argument to break git locks in gclient."
> 
> This reverts commit 51797b1d8f.
> 
> BUG=601564
> TBR=iannucci,dpranke,estaab,pgervais
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=299771

TBR=dpranke@google.com,estaab@chromium.org,pgervais@chromium.org,smut@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=601564

Review URL: https://codereview.chromium.org/1867843003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299773 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
smut@google.com 66f23f3eb1 Revert "Add (another) argument to break git locks in gclient."
This reverts commit 51797b1d8f.

BUG=601564
TBR=iannucci,dpranke,estaab,pgervais

Review URL: https://codereview.chromium.org/1865403003 .

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299771 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 51797b1d8f Add (another) argument to break git locks in gclient.
This will clean up index.lock and refs/heads/master.lock-style locks when
invoked as part of the update_scripts step on the bots.

R=dpranke@chromium.org, estaab@chromium.org, pgervais@chromium.org
BUG=421769

Review URL: https://codereview.chromium.org/1862943002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299737 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 596cd5c95d Fix coloring madness in depot_tools.
'setup_color' now contains logic to correctly detect:
  * cmd
  * cmd pipe
  * msys bash
  * msys pipe
  * cmd running inside msys bash (git-command)
  * cmd pipe running inside msys bash (git-command > outfile)

R=brucedawson@chromium.org, dnj@chromium.org
BUG=600049

Review URL: https://codereview.chromium.org/1851283002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299682 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 0703ea2cc6 Multiple improvements to windows bash integration.
* `git bash` helper now will either:
    * launch an interactive bash prompt in the MinGW Terminal Emulator
    * launch a non-interactive bash shell if arguments are provided
  * `git bash` now includes python, python/Scripts and svn binaries in
    the PATH.
  * depot_tools' colorization now works in MinGW Terminal Emulator
  * batch scripts are now regenerated if any of them is missing.

R=agable@chromium.org, dnj@chromium.org, mmoss@chromium.org
BUG=598956

Review URL: https://codereview.chromium.org/1847783002 .

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299616 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org c0f8642119 Revert "Better tooling"
This reverts commit eed06d620f.

Accidental dcommit

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299615 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org eed06d620f Better tooling
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299614 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
rwalker@codeaurora.org ed89ff5290 add support for custom_vars in recursive dependencies
R=dpranke@chromium.org

Review URL: https://codereview.chromium.org/1849613003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299595 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
nodir@chromium.org 5b48e48c1a Set default --lock_timeout to 5m
gclient-sync + git-cache are racy because if two different DEPS files
dependent on the same repo URL, even if depsed to different checkout
dirs, they use same git cache dir. If both checkout dirs are synced at
the same time, one of them cannot acquire a lock.

This is a cheap solution to change --lock_timeout option default value
from 0 to 5m.

R=hinoka@chromium.org
BUG=593468

Review URL: https://codereview.chromium.org/1785083005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299386 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
sergiyb@chromium.org fa2707ee95 Log the location where we start to search .gclient for
R=phajdan.jr@chromium.org

Review URL: https://codereview.chromium.org/1789713004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299261 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org dc58a97f02 Finally get rid of depot_tools' breakpad.
Reland of http://crrev.com/1689633002#ps20001 without breaking other
repos by means of keeping breakpad.py importable, but otherwise a no-op.

R=maruel@chromium.org
BUG=585837

Review URL: https://codereview.chromium.org/1687923002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298731 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
thakis@chromium.org 5fea38772f Revert of Finally get rid of depot_tools' breakpad. (patchset #2 id:20001 of https://codereview.chromium.org/1689633002/ )
Reason for revert:
All chromium bots depend on this: 

________ running '/usr/bin/python src/build/android/play_services/update.py download' in '/b/build/slave/linux/build'
Traceback (most recent call last):
  File "src/build/android/play_services/update.py", line 29, in <module>
    import find_depot_tools  # pylint: disable=import-error,unused-import
  File "/b/build/slave/linux/build/src/build/find_depot_tools.py", line 49, in <module>
    import breakpad
ImportError: No module named breakpad

https://www.google.com/url?hl=en&q=http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/144739&source=gmail&ust=1455209366639000&usg=AFQjCNH42SEVcJg4J6dX0J9HF0Rcqv81eA

Original issue's description:
> Finally get rid of depot_tools' breakpad.
> 
> R=maruel@chromium.org
> BUG=
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=298710

TBR=maruel@chromium.org,tandrii@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1683173002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298712 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
tandrii@chromium.org a05c501e6c Finally get rid of depot_tools' breakpad.
R=maruel@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1689633002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298710 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
szager@chromium.org dbb6f8246b Allow blocking git-cache update with a timeout.
I guess I'm the only developer using git-cache, which is sad.
Hopefully these fixes will make it easier to adapt this to developer
usage some time in the FUTURE.

BUG=583420
TEST=Works for me
R=agable@chromium.org,tandrii@chromium.org

Review URL: https://codereview.chromium.org/1650993005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298531 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
iannucci@chromium.org 405b87e91b Revert of git_cl/gclient: use python2 (patchset #3 id:40001 of https://codereview.chromium.org/1437773002/ )
Reason for revert:
breaks git-bash on windows

Original issue's description:
> git_cl/gclient: use python2
> 
> Newer distros are defaulting /usr/bin/python to python3, so use python2
> explicitly so we continue working.
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=297535

TBR=stip@chromium.org,sergeyberezin@chromium.org,vapier@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1442583004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297544 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org b0fe123965 git_cl/gclient: use python2
Newer distros are defaulting /usr/bin/python to python3, so use python2
explicitly so we continue working.

Review URL: https://codereview.chromium.org/1437773002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297535 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org a81a56e89b gclient: stop using deprecated except syntax
The newer form works with python2 and python3.

Review URL: https://codereview.chromium.org/1436763002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297517 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
vapier@chromium.org bb79beaac4 gclient: use the print function
This makes the code work both in python2 and python3.

Review URL: https://codereview.chromium.org/1433153003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297516 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
agable@chromium.org f2214673e1 Error out in `gclient config` if --name is relative
This helps prevent behavior such as setting '--name .' so that the .gclient
file contains '.' as the name of the solution, and the .gclient file ends
up a sibling of the .git file, rather than a sibling of the git checkout's
containing directory.

R=iannucci@chromium.org, thestig@chromium.org

Review URL: https://codereview.chromium.org/1406053003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297343 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
agable@chromium.org 0242eb4266 Treat 'revert' like 'update' in gclient.
This cl ensures that gclient enforces sane revision overrides and
onfiguration when running a revert, just like it does on a normal sync/update.

R=iannucci@chromium.org
BUG=420919

Review URL: https://codereview.chromium.org/1160113003.

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295571 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
stip@chromium.org a735da2a16 Add `gclient root` command which outputs the current solution's root.
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1113453007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295075 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
e.hakkinen@samsung.com e8bc1aa828 gclient: Add '--no-bootstrap' sync option.
Review URL: https://codereview.chromium.org/1050853002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294714 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
sbc@chromium.org 013731e832 Handle KeyboardInterrupt consistently in python scripts
Handle KeyboardInterrupt gracefully rather the printing a
backtrace. Most users of these tools don't expect a
backtrace when then hit Ctrl-C.

Also, fix a few other inconsistencies found in the python
startup code of these different scripts:
- always call main function 'main' (rather than 'Main')
- always return 0 from main function
- if main takes args never include argv[0]

Review URL: https://codereview.chromium.org/955993006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294250 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
dnj@chromium.org 5b23e871ba gclient: Add '--auto_rebase' sync option.
This adds the '--auto_rebase' sync option, enabling parallel updates to
automatically rebase local Git branches during sync.

BUG=None
TEST=local

Review URL: https://codereview.chromium.org/930693002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294151 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
primiano@chromium.org 1c1273893e Reland "Make gclient ready for the Blink (DEPS to main project)"
Reland crrev.com/743083002, which was reverted in crrev.com/796053002
due to some test flakiness, probably related with an old version of Git on
the bots. Relanding now that the infra has been updated to Trusty (plus
adding some de-flake precautions).

Original CL Description:
Make gclient ready for the Blink (DEPS to main project) transition

This CL makes gclient understand correctly whether a git project is
being moved from DEPS to an upper project and vice-versa.
The driving use case for this is the upcoming Blink merge, where
third_party/Webkit will be removed from DEPS (and .gitignore) and will
become part of the main project.

At present state, gclient leaves the .git folder around when a project
is removed from DEPS, and that causes many problems.

Furthermore this CL solves the performance problem of bisecting across
the merge point. The subproject's (Blink) .git/ folder is moved to a
backup location (in the main checkout root) and is restored when moving
backwards, avoiding a re-fetch when bisecting across the merge point.

BUG=431469

Review URL: https://codereview.chromium.org/910913003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294082 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
primiano@chromium.org a64c0b083b Revert of Make gclient ready for the Blink (DEPS to main project) transition (patchset #6 id:180001 of https://codereview.chromium.org/743083002/)
Reason for revert:
The test intoruced is flake (see crrev.com/753543006/).
Need to look into that with more patience as it reproduces only on precise.


Original issue's description:
> Make gclient ready for the Blink (DEPS to main project) transition
> 
> This CL makes gclient understand correctly whether a git project is
> being moved from DEPS to an upper project and vice-versa.
> The driving use case for this is the upcoming Blink merge, where
> third_party/Webkit will be removed from DEPS (and .gitignore) and will 
> become part of the main project.
> 
> At present state, gclient leaves the .git folder around when a project
> is removed from DEPS, and that causes many problems. 
> 
> Furthermore this CL solves the performance problem of bisecting across
> the merge point. The subproject's (Blink) .git/ folder is moved to a
> backup location (in the main checkout root) and is restored when moving
> backwards, avoiding a re-fetch when bisecting across the merge point. 
> 
> BUG=431469
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=293329

TBR=iannucci@chromium.org,maruel@chromium.org,jochen@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=431469

Review URL: https://codereview.chromium.org/796053002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293352 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org fcf03763e0 Make gclient ready for the Blink (DEPS to main project) transition
This CL makes gclient understand correctly whether a git project is
being moved from DEPS to an upper project and vice-versa.
The driving use case for this is the upcoming Blink merge, where
third_party/Webkit will be removed from DEPS (and .gitignore) and will 
become part of the main project.

At present state, gclient leaves the .git folder around when a project
is removed from DEPS, and that causes many problems. 

Furthermore this CL solves the performance problem of bisecting across
the merge point. The subproject's (Blink) .git/ folder is moved to a
backup location (in the main checkout root) and is restored when moving
backwards, avoiding a re-fetch when bisecting across the merge point. 

BUG=431469

Review URL: https://codereview.chromium.org/743083002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293329 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org bd772dd6f7 Don't enforce allowed_hosts for custom_deps.
BUG=430123
R=iannucci@chromium.org,agable@chromium.org

Review URL: https://codereview.chromium.org/701893002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292853 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 3a3608dfe6 Get rid of spurious warning about bad --revision flag.
R=vadimsh@chromium.org,mmoss@chromium.org
BUG=

Review URL: https://codereview.chromium.org/671003003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292601 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
tandrii@chromium.org c137c1a5a6 Rough verification code to ensure deps hosts \in allowed_hosts.
BUG=371012

Review URL: https://codereview.chromium.org/562953002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@292088 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org 8f93f79bce Revert hard-coded src.git DEPS file name.
This is breaking the ability to specify an alternate DEPS file, and do
things like sync release tags where DEPS is still from svn and we need
.DEPS.git to do a git checkout.

R=iannucci@chromium.org, szager@chromium.org
BUG=407049

Review URL: https://codereview.chromium.org/511533003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291665 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dnj@chromium.org b682b3e514 Only clear cache locks if the cache exists.
BUG=407259
TEST=None

Review URL: https://codereview.chromium.org/462363004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291609 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 808bcfbad4 Ensure deps_file=.DEPS.git in .gclient
R=agable@chromium.org,cmp@chromium.org
BUG=

Review URL: https://codereview.chromium.org/500903003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291592 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 4848fb62cc Fix git cache unlock invocation to specify cache dir.
TBR=cmp@chromium.org,agable@chromium.org
BUG=

Review URL: https://codereview.chromium.org/498043002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291591 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org caf5bef484 Force break git cache locks when CHROME_HEADLESS is set.
BUG=406669
R=dnj@chromium.org,agable@chromium.org

Review URL: https://codereview.chromium.org/500903002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291590 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 162183be0d Don't remove "'deps_file': '.DEPS.git'" for chromium/src
BUG=406880
R=iannucci@chromium.org,cmp@chromium.org

Review URL: https://codereview.chromium.org/498023002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291589 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org c7c41681a1 Fix gclient hook for stubborn hooks.
R=szager@chromium.org
BUG=

Review URL: https://codereview.chromium.org/497333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291574 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 7b8b6dee5b Auto-update .gclient files for git.
TBR=iannucci@chromium.org,stip@chromium.org

Review URL: https://codereview.chromium.org/503563002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291567 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 5273b8a2ad Don't be pedantic about .gclient file for non-mutating commands.
This is primarily a hack to enable the chromeos ebuild.

BUG=367027
TBR=iannucci@chromium.org,mmoss@chromium.org

Review URL: https://codereview.chromium.org/490233003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@291075 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 8d3348fc7a Add --with_tags to enable git tag fetching.
Needed for chromeos ebuild.

BUG=chromium:376027
R=mmoss@chromium.org,hinoka@chromium.org

Review URL: https://codereview.chromium.org/490743002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@290683 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dyen@chromium.org d915ccadcb Added support for relative paths for the .gclient cache_dir field.
R=iannucci@chromium.org
BUG=None
TEST=gclient sync with a relative and absolute "cache_dir"

Review URL: https://codereview.chromium.org/415713002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@288146 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 5439ea5996 Reland: Add --no-history option to fetch and gclient for shallow clones.
Original CL: https://codereview.chromium.org/440263002/

Many people* have complained on chromium-dev about the long times
required to perform a full fetch over a DSL. This seems to be mostly
due to the huge size of chromium's history (~9 GB). On the other side,
not everybody is interested in downloading the full git history of
the projects. The size of git packs required to fetch a working HEAD
is one order of magnitude smaller (1.5 GB).
This change makes it possible to perform a shallow fetch (in a way
which is consistent with DEPS, leveraging git templates on clone),
reducing fetch times by 80% for those not interested in the history.

* See:
[chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
[chromium-dev] Initial checkout with git taking long
[chromium-dev] Trying to get latest source code fails when fetching
[chromium-dev] Gclient sync takes too long

BUG=228996
TBR=iannucci@chromium.org,szager@chromium.org,wtc@chromium.org

Review URL: https://codereview.chromium.org/440273002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287793 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 69177ea3ba Revert of Add --no-history option to fetch and gclient for shallow clones. (https://codereview.chromium.org/437903002/)
Reason for revert:
Broke the WebRTC waterfall:
http://build.chromium.org/p/tryserver.webrtc/builders/win/builds/3958/steps/gclient%20revert/logs/stdio

Original issue's description:
> Add --no-history option to fetch and gclient for shallow clones.
> 
> Many people* have complained on chromium-dev about the long times
> required to perform a full fetch over a DSL. This seems to be mostly
> due to the huge size of chromium's history (~9 GB). On the other side,
> not everybody is interested in downloading the full git history of
> the projects. The size of git packs required to fetch a working HEAD
> is one order of magnitude smaller (1.5 GB).
> This change makes it possible to perform a shallow fetch (in a way
> which is consistent with DEPS, leveraging git templates on clone),
> reducing fetch times by 80% for those not interested in the history.
> 
> * See: 
> [chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
> [chromium-dev] Initial checkout with git taking long
> [chromium-dev] Trying to get latest source code fails when fetching
> [chromium-dev] Gclient sync takes too long
> 
> BUG=228996
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=287606

TBR=iannucci@chromium.org,szager@chromium.org,wtc@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=228996

Review URL: https://codereview.chromium.org/440263002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287637 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
primiano@chromium.org 107bca31f6 Add --no-history option to fetch and gclient for shallow clones.
Many people* have complained on chromium-dev about the long times
required to perform a full fetch over a DSL. This seems to be mostly
due to the huge size of chromium's history (~9 GB). On the other side,
not everybody is interested in downloading the full git history of
the projects. The size of git packs required to fetch a working HEAD
is one order of magnitude smaller (1.5 GB).
This change makes it possible to perform a shallow fetch (in a way
which is consistent with DEPS, leveraging git templates on clone),
reducing fetch times by 80% for those not interested in the history.

* See: 
[chromium-dev] "fetch chromium" keeps hanging/getting stuck on Windows 7
[chromium-dev] Initial checkout with git taking long
[chromium-dev] Trying to get latest source code fails when fetching
[chromium-dev] Gclient sync takes too long

BUG=228996

Review URL: https://codereview.chromium.org/437903002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@287606 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org f2def0abf8 Update recursedeps to support use_relative_path.
Also cast recursedeps to a set.  We'll continue
to support using a list literal form in DEPS for
now.

R=iannucci@chromium.org,agable@chromium.org
BUG=393000

Review URL: https://codereview.chromium.org/385123008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@283474 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
smut@google.com d33eab3e58 Revert of Consolidated 'git' refish parsing into a class (https://codereview.chromium.org/328843005/)
Reason for revert:
https://code.google.com/p/chromium/issues/detail?id=391871

Original issue's description:
> Consolidated 'git' refish parsing into a class
>
> Created the 'GitRefish' class to centralize 'git' refish parsing and consistent
> usage by 'gclient' 'git' code.
>
> BUG=373504
> TEST=localtest
> R=agable@chromium.org, iannucci@chromium.org
>
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=281553

TBR=dnj
BUG=391871

Review URL: https://codereview.chromium.org/370393002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281572 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
dnj@chromium.org f2707a6d93 Consolidated 'git' refish parsing into a class
Created the 'GitRefish' class to centralize 'git' refish parsing and consistent
usage by 'gclient' 'git' code.

BUG=373504
TEST=localtest
R=agable@chromium.org, iannucci@chromium.org

Review URL: https://codereview.chromium.org/328843005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281553 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org c401ad1cff Update recurselist to be a set, call it recursedeps now.
Now that recurselist is no longer a list, it doesn't make
sense to call it recurselist.  recurseset is available, but
that's not as easy to read/say compared to recurselist.
Call this recursedeps, instead.

R=iannucci@chromium.org
BUG=390246

Review URL: https://codereview.chromium.org/363103002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@281107 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org 76ce73c726 Add fallback to DEPS from a missing deps file.
It's possible to tell gclient to use a different
"deps" file from the default DEPS through the "deps_file"
variable in the .gclient file.

If this file is missing, fallback to DEPS (the
default).

BUG=390700

Review URL: https://codereview.chromium.org/368713002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280921 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
cmp@chromium.org e84ac911c5 Add recurselist DEPS var setting.
Previously, recursion overrides were only available by setting
a numeric 'depth' value in a DEPS file.  This meant that it
was not possible to control recursion per-dependency entry.

This change adds a recurselist variable with a list structure.
If a named dependency is present in the list, then gclient will
recurse into that dependency's DEPS.

As part of this change, I move the recursion controls off of
DependencySetting and onto Dependency.  The new setup of being
based on Dependency allows access to the dependency's name.

The controls are only called from Dependency instances.  They
have always needed access to self.parent (in the Dependency
context), so this should be more correct than the previous setup.

BUG=390246

Review URL: https://codereview.chromium.org/331373009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280690 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org 8a10f6de3e Add option to gclient to ignore cache locks
BUG=261741

Review URL: https://codereview.chromium.org/349643004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@279150 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
iannucci@chromium.org 0c3f305afe Add a strict mode for gclient DEPS parsing, to enable saner parsing constraints.
R=agable@chromium.org, mmoss@chromium.org, szager@chromium.org
BUG=366925

Review URL: https://codereview.chromium.org/288863004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@272033 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 4ad264bf6d Enable --revision flag for all deps.
Currently, only top-level solutions may be pinned via --revision.  With this, we can:

gclient sync --revision src/third_party/WebKit@deadbeef

BUG=

Review URL: https://codereview.chromium.org/290443003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@271571 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org 46b874144e Pass shallow flag through gclient to git_cache.py
BUG=261741

Review URL: https://codereview.chromium.org/278043005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270542 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 359bb6435f gclient: fix --delete_unversioned_trees bug
This occurs for svn checkouts when the DEPS change from:
  third_party/skia/gyp
  third_party/skia/include
  third_party/skia/src
to:
  third_party/skia

First, gclient deletes/moves third_party/skia to make room for the new checkout.
When finished, it notices that the three subdirectories under skia are now
"unversioned" according to .gclient_entries, even though they are part of Skia
repo. On the bots, this causes them to be deleted.

There is a check to determine whether the thought-to-be unversioned directories
are actually subdirectories of another checkout, but it doesn't work in the svn
case because the check assumes that, if they are subdirectories of another
checkout, it must be an svn checkout. scm.GetCheckoutRoot() returns None
because it can't find an svn checkout containing those subdirectories. None is
not in gclient_entries, so the directories get deleted.

BUG=

Review URL: https://codereview.chromium.org/275103009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270133 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org 17db905ebf Adds url to gclient json (try 2)
Reland of https://codereview.chromium.org/268373003/ with a fix (wraps the
url with str())
https://codereview.chromium.org/268393002/ (bot_update root@revision support) is dependent on this

BUG=370503
TEST= gclient sync --output-json ~/tmp/asdfasdf.json on both an SVN and Git checkout

Review URL: https://codereview.chromium.org/277553002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@269469 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 931a11d294 Revert "Adds url to gclient json"
This reverts commit 2f2b0593e0.

Sample breakage:

http://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20ChromeOS/builds/67372/steps/gclient%20sync/logs/stdio

BUG=
R=grt@chromium.org, hinoka@chromium.org

Review URL: https://codereview.chromium.org/267393007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@268887 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@chromium.org 2f2b0593e0 Adds url to gclient json
So that bot_update can use them to figure out which repo correspons to where.

BUG=370503

Review URL: https://codereview.chromium.org/268373003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@268875 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scr@chromium.org f1eccafb1c Make it possible to refer to github-style URLs.
BUG=362248

Review URL: https://codereview.chromium.org/233333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263252 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org 848fd49331 Make git_cache.py import-able.
Evidence indicates that running non-builtin git commands is very
slow in msysgit, slow enough to dominate the running time of
gclient sync.  With this change, gclient never shells out to
git-cache; it import the lib directly instead.

R=agable@chromium.org,hinoka@chromium.org
BUG=

Review URL: https://codereview.chromium.org/229653002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262759 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
szager@chromium.org fe0d1902b3 Revamped terminal output for update.
Features:

- Non-verbose output is now limited to a one-line progress
indicator.

- Verbose output is now collated per subprocess.  As soon as a
subprocess finishes, its full output is dumped to terminal.

- Verbose output is prefixed with timestamps representing elapsed
time since the beginning of the gclient invocation.

- git progress indicators ("Receiving objects", etc.) are limited to
one line every 10 seconds.

- In both verbose and non-verbose mode, if a failure occurs, the
full output of the failed update operation is dumped to terminal
just before exit.

- In the event that updates are progressing, but slowly,
"Still working" messages will be printed periodically, to pacify
users and buildbots.

BUG=
R=hinoka@google.com

Review URL: https://codereview.chromium.org/227163002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262500 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 4e9be26d99 gclient: Fix cache_dir functionality
BUG=361155

Review URL: https://codereview.chromium.org/228793002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262478 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 9788236b59 Clarify the .gclient URL mismatch error message
BUG=

Review URL: https://codereview.chromium.org/227603003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@262182 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 0a42737b63 Revert of Revert "gclient: Change the .gclient URL mismatch warning into an error." (https://codereview.chromium.org/213483003/)
Reason for revert:
Re-landing this after https://codereview.chromium.org/214813002/

Original issue's description:
> Revert "gclient: Change the .gclient URL mismatch warning into an error."
> 
> This reverts commit c01bff7518.
> 
> BUG=356881
> TBR=iannucci
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259727

TBR=iannucci@chromium.org,smut@google.com
NOTREECHECKS=true
NOTRY=true
BUG=356881

Review URL: https://codereview.chromium.org/221423004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@261158 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
rnk@chromium.org 2d3c28d5ba Don't put unicode strings into the environment
This fixes 'gclient recurse ...' on Windows.

R=dpranke@chromium.org

Review URL: https://codereview.chromium.org/167443002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@260405 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
smut@google.com 979809d060 Revert "gclient: Change the .gclient URL mismatch warning into an error."
This reverts commit c01bff7518.

BUG=356881
TBR=iannucci

Review URL: https://codereview.chromium.org/213483003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259727 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com c01bff7518 gclient: Change the .gclient URL mismatch warning into an error.
BUG=skia:1638

Review URL: https://codereview.chromium.org/208623004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259681 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 6a9b168463 Add warning batching in gclient_utils
BUG=

Review URL: https://codereview.chromium.org/209393006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@258982 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 88d100836d gclient: in managed mode, warn if .gclient has a mismatched URL
BUG=

Review URL: https://codereview.chromium.org/195913002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@258617 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
hinoka@google.com 267f33e6ad Make gclient_scm.py use cache_dir
Instead of having custom logic for dealing with cache directories, use
git_cache.py to populate caches.

Also fixes a bug in git_cache.py where it was looking for lockfiles in cwd rather than the cache dir.

Other changes:
* _Run now returns output.
* Always print to stdout in CheckCallAndFilterOutput, even if it gets a carriage return.  This is done because git progress report are carriage returns and not newlines and we don't want everything on the same line and not strip out the CRs.
* Removed members changed tests, its not very useful to know a new import is added.

BUG=339171

Review URL: https://codereview.chromium.org/180243006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254248 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
tnagel@chromium.org a2aaa63f80 Minor fixes to help texts
It's not true (anymore?) that the number of SCM jobs for gclient sync equals the
number of cores, thus the new text is less specific.

BUG=none

Review URL: https://codereview.chromium.org/184733007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254242 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org 50fd47f55f Revert 250482 "Re-reland r245404 ("If the destination directory ..."
> Re-reland r245404 ("If the destination directory doesn't contain the desired repo, delete it")
> 
> BUG=
> 
> Review URL: https://codereview.chromium.org/133073015

TBR=borenet@google.com

Review URL: https://codereview.chromium.org/146583013

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250878 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
mmoss@chromium.org 82439aabdc Revert 250524 "gclient: Use the correct bot hostnames to enable ..."
> gclient: Use the correct bot hostnames to enable experimental deletion behavior
> 
> BUG=skia:1638
> 
> Review URL: https://codereview.chromium.org/132313017

TBR=borenet@google.com

Review URL: https://codereview.chromium.org/143183008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250877 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 7bfa4d8d84 gclient: Use the correct bot hostnames to enable experimental deletion behavior
BUG=skia:1638

Review URL: https://codereview.chromium.org/132313017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250524 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 255b5d97da Re-reland r245404 ("If the destination directory doesn't contain the desired repo, delete it")
BUG=

Review URL: https://codereview.chromium.org/133073015

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250482 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 3dce24f8bb Revert of Reland r245404 ("If the destination directory doesn't contain the desired repo, delete it") (https://codereview.chromium.org/131743022/)
Reason for revert:
This is still failing third_party DEPS for git-svn...

Original issue's description:
> Reland r245404 ("If the destination directory doesn't contain the desired repo, delete it")
> 
> BUG=
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=249143

TBR=iannucci@chromium.org,maruel@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/152933004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@249216 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com 8456c48528 Reland r245404 ("If the destination directory doesn't contain the desired repo, delete it")
BUG=

Review URL: https://codereview.chromium.org/131743022

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@249143 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
rdsmith@chromium.org d9591f03f5 Warn if --gclientfile= specifies a with separators.
Given that we search for the gclient root in ancestor directories based on the file name, specifying a file with separators doesn't make a lot of sense.

BUG=336946
R=iannucci@chromium.org

Review URL: https://codereview.chromium.org/150633004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@249077 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org 0a0e31065c Revert of If the destination directory doesn't contain the desired repo, delete it (https://codereview.chromium.org/61623008/)
Reason for revert:
This breaks `gclient sync` for me. Before this patch:
________ found .git directory; skipping src

After this patch:
Error: 1> Can't update/checkout /Volumes/MacintoshHD2/src/chrome-git/src if an unversioned directory is present. Delete the directory and try again.


Original issue's description:
> If the destination directory doesn't contain the desired repo, delete it
> 
> Basic functionality - this may not be in quite the right place.
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=245404

TBR=iannucci@chromium.org,ilevy@chromium.org,cmp@chromium.org,maruel@chromium.org,morrita@chromium.org,borenet@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/141633005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245530 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
borenet@google.com b75a835e65 If the destination directory doesn't contain the desired repo, delete it
Basic functionality - this may not be in quite the right place.

Review URL: https://codereview.chromium.org/61623008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245404 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
bratell@opera.com ed2b4fe59b Handle conflicting os deps better in gclient.
It's possible in gclient to list multiple operating systems on the
command line and while handling them all perfectly might not be possible
it's possible to make it better than today.

This patch makes sure None never overrides any previous value and it
adds some output to indicate what kind of dangerous choices it made.

BUG=248168

Review URL: https://codereview.chromium.org/23875029

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@240892 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
borenet@google.com 2d1ee9ec79 Add support in gclient for pre-DEPS hooks
These are run for a given dependency after it has been synced but before its
DEPS have been synced. This will help to switch Chromium to depend on Skia's
git repository (skia:1638).

Review URL: https://codereview.chromium.org/25322002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@228651 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
scottmg@chromium.org f547c80c36 Delete nag_max and nag_timer
It's impossible to sync by default on Windows and has been since this was
added: https://www.google.com/search?q=chromium-dev+nag_max

Most recently: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/CEpATyu9udc

So, remove it. If someone needs it they can figure out a more targeted
implementation.

Keep --no-nag-max for backwards compat so that bot scripts won't fail out.
I'll remove it from bot scripts after this has baked a while, and then
come back and remove the option.

R=iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225730 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 2702bcdec7 Add json output for gclient.
This is in order to support 'features' like got_revision for build systems
unwilling to scrape the human-readable output of gclient in order to extract
basic information :)

R=agable@chromium.org, maruel@chromium.org
BUG=265618

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225046 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 39c0b22fd3 Convert gclient to use subcommand.py
Update subcommand to support examples, always disable format_description and
format_epilog and add colors when enabled.

R=iannucci@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@218180 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
xusydoc@chromium.org 05028418cc Reduce svn bot load back to 1.
BUG=265443
TBR=cmp@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@214190 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org d9c1b20095 Revert "Revert "Improve description layout. Improve coloring and add legend in help.""
This reverts commit c0594f37a1.

Because I reverted the wrong thing >_<

TBR=maruel@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213551 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org c0594f37a1 Revert "Improve description layout. Improve coloring and add legend in help."
This reverts commit 44a82fa84b.

Broke git cl apply <issue>

TBR=maruel@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213545 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 44a82fa84b Improve description layout. Improve coloring and add legend in help.
Convert monkey patching to class inheritance for OptionParser usage in:
commit_queue.py, gclient.py and trychange.py.

Monkey patching confuses the hell out of pylint.

R=jochen@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@213423 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org f3ec5784d3 Check to see if a dependency was skipped in custom_deps, and if so, skip it in
recurse.

R=maruel@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@212373 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org c28d377739 Print time of long running hook actions
We can use this to evaluate the usefulness of making hooks run in parallel.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@211446 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
petermayo@chromium.org e79161aa2d Add custom hooks.
Sometimes we wish to pull in a complicated dependency but want to
suppress or replace one or more of the hooks rules.  Say for example
we want to use a different way of generating the projects, or
have a different set of landmine expectations.

Here we add a custom_hooks section mirroring custom_deps to allow us to
override sections we have identified in the DEPS file.  To do so,
we add an optional name to the elements of the hooks list, and overwrite
those whose name matches.

Conventions between included DEPS and the .gclient as to the meanings of the
name are equivalent to the meaning of the customized deps, and so do not
benefit from further structure or definition.

BUG=None
TEST=local unit test

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210573 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 4a4b33b99c Do not use named arguments to call positional arguments.
See bug.

TBR=szager@chromium.org
BUG=257299

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210222 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 396e1a6d9e If we're running in nohooks mode, don't bother to accumulate file_list in gclient.
This enables significant time savings, especially since file_list only exists to
enable file-specific hooks (which, AFAIK, nothing actually uses). On a z620
(linux) using the cached git repos, a first-time `gclient sync --nohooks` takes:
  * (with)    131.06s user 14.10s  system 117% cpu 2:03.89 total
  * (without) 482.13s user 189.35s system 144% cpu 7:45.63 total

This change makes nohooks cause file_list to be None if we don't need to
accumulate it, and updates GitWrapper and SvnWrapper appropriately.

R=szager@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210026 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 53456aa2a9 Add a git cache for gclient sync operations.
Instead of cloning straight into place, clones are made to a global cache dir,
and then local (using --shared) clones are made from the cache to the final
resting place. This means the 'final' clones are full repos with no shenanigans,
meaning that branches, commits, etc. all work, which should allow the rest of
the gclient ecosystem to work without change as well.

The primary benefit is, of course, reduced network IO, and a much lower cost for
'clobber' operations (assuming we don't clobber the cache). It also means that
a given bot can have a greater number of checkouts, since the entire git history
will only be stored once per machine, instead of once per checkout.

R=dpranke@chromium.org, szager@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@210024 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org d4fffee1c5 Add --upstream option to gclient to scrape git checkouts back to upstream state.
This will be used on the bots when calling apply_patch, which commits to git
repos.

R=dpranke@chromium.org,szager@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@209040 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 413ffbccf5 Increase sync jobs on bots to 4
This will speed up main waterfall sync.  We can
remove this hack tomorrow if svn load is still OK.

TBR=cmp

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@207277 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
cmp@chromium.org 3b37d342ab Possible workaround to lower bot load.
TBR=iannucci@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@207253 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
xusydoc@chromium.org 885a960ba2 Don't delete directories that have been superseded by a broader checkout.
BUG=237388

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203384 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
szager@chromium.org 41da24bfb6 Set default nag_timer=6, and make it disable-able.
BUG=242220

Review URL: https://codereview.chromium.org/15367008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@201859 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
xusydoc@chromium.org 2fd6c3fcb7 Kill subprocesses on KeyboardInterrupt.
SVN traps SIGINT and attempts to clean itself up, but this results in hangs
waiting for TCP. This patch does two things: daemonizes worker threads so they
are culled when the main thread dies (is ctrl-C'd) and keeps track of spawned
subprocesses to kill any remaining ones when the main program is ctrl-C'd.

A user ctrl-C'ing gclient has to manually terminate hung SVN processes, so this
introduces no extra data loss or hazard. stracing a hung SVN process shows that
it is indeed hanging on TCP reads after receiving a SIGINT, implying there is an
underlying but in the SVN binary.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198205 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
digit@chromium.org dc112ac587 Remove gclient_utils.RemoveDirectory().
The 'RemoveDirectory()' function in gclient_utils is deprecated and
rmtree() should be used instead for consistency.

This patch modifies all clients in depot_tools to use rmtree() instead
and removes the RemoveDirectory function.

+ The SVNWrapperTestCase.testRevertNoDotSvn() mocking
  expectation has been slightly changed. This was required
  because the test invokes code that used to call
  gclient_utils.RemoveDirectory() directly, while only
  gclient_utils.rmtree() was mocked.

BUG=NONE
R=maruel@chromium.org, ilevy@chromium.org
TEST=manually run gclient_utils_test / gclient_smoketest / scm_unittest / gclient_scm_test

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@196133 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
kustermann@google.com a692e8f51f Changed the behaviour of '--transitive' in gclient.py to use revision instead of timestamp for identical repositories.
Here's some background why we need this:
We discovered that google code defines the timestamp of a revision to be the time when a commit was started
rather than when it was finished (apache subversion takes the timestamp when the commit transaction is finished).
This can result in a situation where revision R(i-1) has a higher timestamp than Ri.
See bug: https://code.google.com/p/support/issues/detail?id=30419

When using 'gclient --transitive' we effectively do date-based checkouts.
If a parent has a dependency (without a ...@revision) and that dependency lives in the same repository as the parent does
we'd like to checkout the exact same revision as the parent (if we do a date-based checkout as we do now the google code
bug can result in a situation where we don't get the same revision).

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@194852 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 50395ea4d0 Add print statement to blink overwrite hack.
TBR=cmp@chromium.org

Review URL: https://codereview.chromium.org/13613004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192226 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
iannucci@chromium.org 3e8df4bfc9 Add webkit_trunk override in gclient to force bots to use blink for now.
R=cmp@chromium.org
BUG=

Review URL: https://codereview.chromium.org/13489007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@192200 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jochen@chromium.org a78e553bf7 Don't delete trees that have an exact match in entries either
BUG=171212
TEST=v8 builders don't delete their checkout
R=maruel@chromium.org


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@187285 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
jochen@chromium.org cc47572376 Don't try to delete directories if sub directories are still part of the client
BUG=171212
TEST=ios debug simulator doesn't fail every other run
R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@187284 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 794207e42e Fix regression introduced by the revert r186967 which reverted r186598.
Keep the --with_branch_heads for compatibility but do not use it.

TBR=mmoss@chromium.org
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186969 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
kjellander@chromium.org 9ffd050bd7 Revert 186598 ("Add option to automatically fetch git "branch-heads".")
Some SVN-only trybots get errors when running gclient revert with this
change. I assume it's because the flag is not present for the gclient
revert command, and that the code checking if options.with_branch_heads
is set is common to both revert and sync.

BUG=none
TEST=reverted locally and gclient revert worked again.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186967 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org 4433ad0ef2 Add option to automatically fetch git "branch-heads".
The "branch-heads" are refspecs created from upstream svn branches. This flag
is mostly needed for official builders, and adds about 1/2GB of data to the
checkout, so not currently enabling by default.
Review URL: https://codereview.chromium.org/12546017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@186598 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
bcwhite@chromium.org 6683ab4c49 handle bad python install
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@181695 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
mmoss@chromium.org d0b272b3bc Remove restriction on paths in 'deps_file' setting.
BUG=172935
Review URL: https://codereview.chromium.org/12089080

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@179741 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
ilevy@chromium.org 0233ac240c gclient grep: support pathspec arguments
Support 'git grep <match> <branch>' type searches in gclient grep.
These searches had a slightly different output so needed more
tweeking to the regex.  I cleaned it up a bit too.

R=maruel@chromium.org
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@170039 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ilevy@chromium.org 37116245d1 Add env variable in gclient recurse with repo path
- This will be used by navabi to have his gclient recurse
  command print the current repo.

R=maruel@chromium.org
BUG=


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

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