pylint checks were erronously excluded for PRESUBMIT.py files in
root directory of repos because the regex was getting a './' added.
R=iannucci@chromium.org
TBR=M-A
Review URL: https://chromiumcodereview.appspot.com/11880040
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@176777 0039d316-1c4b-4281-b951-d872f2087c98
This fixes a potential issue with RunPylint in windows where paths
can contain special characters.
TBR=iannucci@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11786007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175481 0039d316-1c4b-4281-b951-d872f2087c98
It's bad python practice to use a class-level member that is mutable. self.calls
is already initialized in __init__ so it's not useful (and dangerous) to have it
as a class member.
R=cmp@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11801018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175368 0039d316-1c4b-4281-b951-d872f2087c98
The AffectedSourceFiles query matches against files with paths relative
to repository root. On the other hand _FindAllFiles checks white_lists
and black_lists against files paths relative to PRESUBMIT.py
As a result, when a PRESUBMIT.py is not at RepositoryRoot, RunPylint
can misbehave.
I fix this by modifying the white_lists and black_list regexes to
include the relative directory of PRESUBMIT.py.
Also adding some logging to pylint and simplified misc logic.
Review URL: https://chromiumcodereview.appspot.com/11776016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175364 0039d316-1c4b-4281-b951-d872f2087c98
I've found it helpful and instructive to see what we're posting to
rietveld. Let's add it as a debug log for others too. Can be helpful
to debug certain network issues.
Review URL: https://chromiumcodereview.appspot.com/11778015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175361 0039d316-1c4b-4281-b951-d872f2087c98
This fixes the following crash:
Traceback (most recent call last):
File "/usr/local/google/home/pliard/ssd/depot_tools/drover.py", line 682, in <module>
sys.exit(main())
File "/usr/local/google/home/pliard/ssd/depot_tools/drover.py", line 678, in main
return drover(options, args)
File "/usr/local/google/home/pliard/ssd/depot_tools/drover.py", line 493, in drover
options.branch = getBranchForMilestone(options.milestone)
File "/usr/local/google/home/pliard/ssd/depot_tools/drover.py", line 393, in getBranchForMilestone
version = string.split(parameters[2], '.')
IndexError: list index out of range
Sending crash report ...
args: ['/usr/local/google/home/pliard/ssd/depot_tools/drover.py', '--merge', '175139', '--milestone', '25']
cwd: /mnt/ssd/pliard/chromium/src/drover
exception: list index out of range
host: vox.par.corp.google.com
stack: File "/usr/local/google/home/pliard/ssd/depot_to
user: pliard
version: 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3
This function is called when the --milestone switch is provided. It requests
omahaproxy to fetch the branch corresponding to the provided milestone.
This function expects some CSV data coming from omahaproxy although it appeared
to actually receive the same HTML data that a browser receives when requesting
http://omahaproxy.appspot.com (user agent issue?).
Review URL: https://chromiumcodereview.appspot.com/11801007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175337 0039d316-1c4b-4281-b951-d872f2087c98
Adding -u and -f as short options for --upload and --force.
There is precedent for these short options elsewhere in
git_cl.py
TBR=maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11783007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@175310 0039d316-1c4b-4281-b951-d872f2087c98
On mac, I ran:
git checkout v1.1.0
ninja
./ninja ninja_test
./ninja_test # all passed
strip ninja
I verified that the empty build speed doesn't change.
Mac binary size grew by ~8kB.
The linux binaries were built by tony@chromium.org.
The windows binary was built by scottmg@chromium.org.
BUG=167996
Review URL: https://codereview.chromium.org/11734004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174818 0039d316-1c4b-4281-b951-d872f2087c98
Call update_depot_tools and re-invoke from git-crup, to get latest
updates.
Move more of the target os functionality into git-crup.sh, so there's
no longer a need for a first-checkout script.
`git submodule sync` is horribly slow on windows. Replicate the
functionality (but faster) in git-crup.sh.
TBR=mmoss@chromium.org,cmp@chromium.org
Review URL: https://codereview.chromium.org/11709003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174747 0039d316-1c4b-4281-b951-d872f2087c98
To be used in conjunction with the --template argument to git-clone.
The hooks all redirect to build/git-hooks, which are files under
revision control. This allows us to version the hooks along with
the source code.
TBR=mmoss@chromium.org,cmp@chromium.org
Review URL: https://codereview.chromium.org/11689005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174738 0039d316-1c4b-4281-b951-d872f2087c98
If the working copy isn't on a named branch, don't try to
pull; just fetch.
Use --quiet flag to git-submodule, to prevent interleaving of
terminal output.
Check target os before updating a submodule.
TBR'ing, since no one really has a stake in this, and maruel doesn't
do bash :).
TBR=maruel@chromium.org
Review URL: https://codereview.chromium.org/11645056
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174280 0039d316-1c4b-4281-b951-d872f2087c98
This version handles the case where we need to suggest two reviewers
who have overlapping sets of directories they can review.
R=maruel@chromium.org
BUG=76727
Review URL: https://chromiumcodereview.appspot.com/11639028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174216 0039d316-1c4b-4281-b951-d872f2087c98
This adds the possibility to specify the format for your activity
through: -f <format>, --output-format=<format>
<format> is specified as in strings.format(...).
It is also possible to specify the output format for specific
activity types.
This enables users to use other formats such as Markdown:
[%(title)s](%(url)s)
This CL also adds support for new variables such as author,
and adds a generic framework for adding more variables.
BUG=166519
Review URL: https://chromiumcodereview.appspot.com/11607007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174203 0039d316-1c4b-4281-b951-d872f2087c98
In https://codereview.chromium.org/11574007/ I attempted to make it possible to use the TRYSERVER_ROOT setting in codereview.settings. It seems like some checkouts ran into errors with it not finding the codereview.settings file when it was parsed. This is probably due to the fact that the following call chain reads the self.toplevel_root variable:
_GclStyleSettings -> GetCodeReviewSetting -> ReadRootFile
By moving _GclStyleSettings up before self.toplevel_root is set probably causes this.
This CL attempts to correct this.
BUG=none, but try job upload fails for some users.
TEST=submitting try job to locally running try server.
Review URL: https://chromiumcodereview.appspot.com/11571052
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173928 0039d316-1c4b-4281-b951-d872f2087c98
This would cause a few exceptions on the CQ until it realizes the checkout is
not present anymore.
R=petermayo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11649011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173916 0039d316-1c4b-4281-b951-d872f2087c98
It turns out that we were weighting all possible owners equally,
and picking the last one out of the list. Given the way we traversed
owners files, and given that we got rid of the "set noparent"s, this
meant that we were always suggesting Ben for just about everything.
This change implements a much smarter algorithm that attempts to balance
number of reviewers and closeness to the files under review. The unit
tests added show specific examples and explanations for why things are
chosen the way they are.
R=maruel@chromium.org
BUG=76727
Review URL: https://chromiumcodereview.appspot.com/11567052
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173784 0039d316-1c4b-4281-b951-d872f2087c98
Since the helper function for the parsing of the TRYSERVER_* variables relies on them being unset (i.e. value is None) in order to apply the settings from codereview.settings, this parsing must take place before the code that figures out the root path (since that sets the options.root value if it's not set).
Otherwise the TRYSERVER_ROOT setting will never be set, even if configured in codereview.settings, essentially making it useless.
This has probably not been discovered previously since almost all Chrome projects use src as the root dir. In WebRTC and some other projects we use 'trunk' usually, which is giving us trouble in our own try server setups (where we have to use 'src' because many other scripts have that root dir hardcoded).
I am not sure if there is a case for another project where this change may have any negative effect. Please let me know if theres's any investigation needed that I can assist with.
BUG=none
TEST=submitting try job to local try master with a codereview.settings file with TRYSERVER_ROOT set.
Review URL: https://chromiumcodereview.appspot.com/11574007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173694 0039d316-1c4b-4281-b951-d872f2087c98
The cros wrapper in depot_tools is a centralized wrapper for all cros
commands. Adding this to depot_tools allows developers to run the 'cros'
tool from anywhere inside a Chrome OS checkout.
BUG=none
TEST=Verify the cros wrapper works.
Review URL: https://chromiumcodereview.appspot.com/11600002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173491 0039d316-1c4b-4281-b951-d872f2087c98
If you were creating a new OWNERS file that only had per-file owners
in it (and no catch-all owners for the whole directory), then we
would not look for suggested owners in parent directories, and end up
suggesting nothing. See https://chromiumcodereview.appspot.com/11555036/
for the CL that revealed this.
Also, the unit tests were incorrectly using absolute paths in some cases,
making the code less predictable; I've fixed the unit tests and added
a check for this into owners.py (real changes never used absolute paths,
just paths relative to the checkout root).
R=maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11569018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173000 0039d316-1c4b-4281-b951-d872f2087c98
Use case rather than inconsistently using [ and [[.
Review URL: https://chromiumcodereview.appspot.com/11522008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@172343 0039d316-1c4b-4281-b951-d872f2087c98
I compiled this on the WebKit Linux 32 bot and verified that it runs.
Review URL: https://codereview.chromium.org/11511007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@172191 0039d316-1c4b-4281-b951-d872f2087c98
He no longer works on this project.
Review URL: https://chromiumcodereview.appspot.com/11506010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@172123 0039d316-1c4b-4281-b951-d872f2087c98
We use the fact the dcommit adds a "Committed:" link to the
description. If we wanted to be more strict, we could make
git cl dcommit post a comment on the CL (which would be nice
since it would notify reviewers that the CL was committed).
Note that this is untested as written, because it doesn't appear
that we have either git-cl integration tests, nor a test for
git cl dcommit adding the word "Committed:" so as written, this
presubmit check is prone to failure. Would like suggestions to
improve.
Also adding DoNotSubmit checks and a couple others to
PanPresubmitChecks.
R=maruel@chromium.org,dpranke@chromium.org
BUG=161702
Review URL: https://chromiumcodereview.appspot.com/11421050
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171158 0039d316-1c4b-4281-b951-d872f2087c98
This can come up when CQ closed an issue but the user's
local branch is still tied to the issue.
BUG=161702
Review URL: https://chromiumcodereview.appspot.com/11348122
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@171153 0039d316-1c4b-4281-b951-d872f2087c98
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
Reduce calling SendProfile to long running commands. There's lots of low hanging fruit (slow commands) to optimize before we need perf stats from fast commands.
R=maruel@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11416230
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@170009 0039d316-1c4b-4281-b951-d872f2087c98
settings.GetIsGerrit() would invoke logging.basicConfig() and
preemtps the basicConfig for verbose option in parser.parse_args.
R=maruel@chromium.org,ilevy@chromium.org
BUG=162600
Review URL: https://chromiumcodereview.appspot.com/11418171
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169843 0039d316-1c4b-4281-b951-d872f2087c98
- Many chrome-internal viewvc links do not support https. UpgradeToHttps
was added 10 months ago and continues to generate broken viewvc links.
Reverts part of crrev.com/9214004
BUG=107838
Review URL: https://chromiumcodereview.appspot.com/11412161
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169815 0039d316-1c4b-4281-b951-d872f2087c98
- 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
Multiple presubmit checks may call the same function multiple times, so it's
worth caching the results to speed up the presubmit check run.
Convert presubmit_support, git-cl and gcl to use it.
R=dpranke@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11280143
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169726 0039d316-1c4b-4281-b951-d872f2087c98
The bash command "local myvar=$(mycommand)" has the exit status of the
bash builtin "local" rather than the exit status of mycommand. To get
the exit status of mycommand, "local myvar" should be run separately
on a previous line.
Review URL: https://chromiumcodereview.appspot.com/11308129
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@169446 0039d316-1c4b-4281-b951-d872f2087c98
Currently, if an unversioned directory is present where we would expect
a versioned repository to be, the following error is printed:
Can't update/checkout %s if an unversioned directory is present.
Delete the directory and try again.
If --reset and --delete_unversioned_trees are used, gclient should delete
the unversioned directory in this case.
This problem can be reproduced using the following recipe:
$ rm -rf src/third_party/webrtc/.svn
$ gclient sync -nRftD
BUG=none
TEST=Verify that above error is fixed. Run all smoke tests.
Review URL: https://chromiumcodereview.appspot.com/11366239
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@167942 0039d316-1c4b-4281-b951-d872f2087c98