Commit Graph

154 Commits (8829c52f4cd923f36fde3ec2b4fbf3f87a74ce80)

Author SHA1 Message Date
maruel@chromium.org 6fb14d906b Revert r102783 "Support for |change| argument to |GetPreferredTrySlaves()|."
Cause an infinite recursion in some context.

TBR=asvitkine@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102836 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 7af6c4dc80 Use universal EOL conversion when calling the text editor in gcl.
This was causing issues for windows user with notepad2.

Fix trychange.py on python2.5.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102797 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
asvitkine@chromium.org c0c424bca4 Support for |change| argument to |GetPreferredTrySlaves()|.
Needed to make it so changes containing only *.mm are only sent to Mac trybots by default.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102783 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org fae707be99 Fix a typo that resulted in no tests to be run in depot_tools. :(
Add a warning when RunUnitTestsInDirectory() finds no test to run to
catch this kind of regression.

Fix all the regressions that where introduced in the meantime...

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101347 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org cc73ad68ff Remove manual --tbr support and convert it into automatic TBR= detection.
It result in less code, forces uploading the change for eventual review and most
importantly enables the commit queue to correctly handle this.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@91575 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c33455af29 Remove files without an extension from the presubmit checks.
This may include Makefile but it's saner to not include it by default

R=dpranke@chromium.org
BUG=
TEST=updated

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@90403 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 239f411a1d Add --rietveld_XXX arguments to presubmit_support to the commit queue can use it.
presubmit_support.py can now creates a Rietveld object on its own.

This is necessary since the object needs to be recreated out of process. The
commit queue runs the presubmit check out of process for sanity reasons.

Added TODO to push the cookie instead of the password.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87842 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6fba34d0cf Add input_api.logging.
This makes it possible to dump logging information from a PRESUBMIT script when
calling git cl presubmit -v -v -v for example.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87603 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org fe1211ae6e Improve the sources regexp to be more correct.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87185 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
bradnelson@google.com 78230020bb Allowing project name to be used to select groups of bots.
BUG=79546
TEST=None
Review URL: http://codereview.chromium.org/7063004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@86460 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
sail@chromium.org 5538e022ab Remove presubmit warning for long lines in .grd files
The presubmit check complained about long lines in .grd files. This isn't a useful warning since .grd files aren't really source files.

The problem was that callers were passing in a file filter to InputApi.AffectedFiles but it was being ignored. Fix was to use the passed in file filter.

BUG=None
TEST=Ran on a local change and verified that I no longer got long line warnings on .grd files.
Review URL: http://codereview.chromium.org/6932060

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@85148 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 2a3ab7e861 presubmit_support: cache the result of ChangedContents.
Review URL: http://codereview.chromium.org/6897005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83228 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ea7c855b52 Inhibit python subprocess from generating .pyc files anymore.
This would case a failure when:
- a .py file is moved
- *.pyc is in svn:ignore, causing the .pyc to not be deleted.
- the new .py modifies its API.
- another .py imports the old .py and uses the new API.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81942 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 58407af8be Add author to Change object. Don't set it yet.
It's mostly to be used with the commit queue.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81326 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c193875b49 Use class-level variable instead of instance members for Change object.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81322 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org cab38e994e First stab at using Rietveld wrapper object in both gcl.py and git-cl.
Exposes InputApi.rietveld and deprecate host_url.

This is useful since it places authentication at a single place.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81019 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 899e1c1a61 Add verbose support throught presubmit checks
Add propagation of verbose flag from git cl to presubmit_support

Rename NotImplementedException to standard NotImplementError.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80798 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 84f4fe3755 Use subprocess2 so check_call() can be use consistently in presubmit checks.
Do s/Popen+communicate/check_call/ replacement in a later change in case it
breaks something.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80615 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 725f1c3b69 Add a warning if the current version of python is not 2.5
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80212 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 2b5ce56a97 Add RunUnitTests() and RunUnitTestsInDirectory() canned checks.
Deprecate RunPythonUnitTests() since it is a bit awkward.

Add os_listdir, os_walk and platform to InputApi.

GOAL=Slowly adds python 2.5 support for unit tests
BUG=none
TEST=new unit test
R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80009 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 0a2bb37a5f improve logging slightly
Review URL: http://codereview.chromium.org/6736018

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79356 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 0d1bdeadb7 fix a few minor lint and test issues. Note that presubmit_canned_checks
should never import any modules directly but always access modules
through input_api.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79337 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 604a5895ef Fix presubmit check output when the items are AffectedFile instances.
R=dpranke@chromium.org
BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79217 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 35625c7e56 Fix locale.getlocale() exception.
Reapply r79006 with fixes for ubuntu 10.4.

The only change is in fix_default_encoding() to trap an exception
locale.getlocale() may throw.

R=dpranke@chromium.org
BUG=none
TEST=unit test

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79144 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f946b22f96 Revert r79006: "Add code to 'fix' python encoding and it's unit test."
It is causing exception for some users on ubuntu 10.4 with:
"category LC_ALL is not supported"

TBR=dpranke

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79012 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8e741d3bb1 Add code to 'fix' python encoding and it's unit test.
With this code in action, I can successfully print arabic and chinese on linux
and cygwin. It fails to print chinese on my Mac but prints arabic. It prints '?'
on Windows console but it *doesn't throw* which is the biggest improvement here.
It was particularly a problem on windows because WindowsError's description text
is in the current ANSI code page so it failed to print if the text was not pure
ASCII, like error message when using Windows' French UI.

R=dpranke@chromium.org
BUG=none
TEST=manual unit test ./tests/fix_encoding_test.py and it shouldn't throw

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79006 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 20254fc742 Revert r79002 - bug processing reviewer lists
TBR=maruel@chromium.org

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79005 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 0c20c2fc23 The parsing of change descriptions had a lot of overlap and inconsistencies between gcl and git-cl. In particular, we weren't handling TBR= consistently, or probably a few other things.
This change moves most of the code into presubmit_support and gclient_utils and just leaves the formatting differences for the messages between the two tools.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79002 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 5c8c6de7e5 Make sure warnings fail the check when may_prompt=False.
Split presubmit_support.Main() in two to make it simpler.

Handle better the case with unversioned files and add a unit test.

R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78700 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 82e5f28e29 Improve presubmit_support main by not stripping arguments.
Necessary for commit queue.

R=dpranke@chromium.org


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78538 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 5ac2101164 This change moves the code I added to git-cl to parse the results of the presubmit hooks into presubmit_support itself. It also removes a lot of the text-file parsing that is no longer necessary since everything is in process.
It also simplifies all of the PresubmitResult* objects and the way we're using output streams since we can assume more about how the callers are calling us.

Note that I uses PEP-8 style method names where I was adding entirely new classes (or rewriting existing classes completely) since per maruel@ he is trying to new that style for new code.

This change also contains two small changes to git_cl to fix bugs and restore the previous behavior of --force skipping the presubmit checks.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78328 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 970c522f0f Make git-cl work with OWNERS file hooks properly.
This version calls into presubmit_support directly to support the OWNERS hooks. We do not need both this patch and http://codereview.chromium.org/6646009/

This patch depends on http://codereview.chromium.org/6665018/ .

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77898 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 627ea67f26 Actually check Rietveld for LGTMs ...
This change requires us to change the previous signature for the CheckOwners() hook to provide the server address and email regexp to use for parsing approvals from Rietveld.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77891 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org d945f368d2 suppress some unimportant lint warnings
Review URL: http://codereview.chromium.org/6658013

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77882 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org ff5a87adfb suppress messages for PresubmitAddText results
Review URL: http://codereview.chromium.org/6646040

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77700 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 3ae183fbb7 add PresubmitAddText() result class to indicate that text needs to be passed back to git cl / gcl.
Also, this properly wires up the presubmit code to the owners code and adds unit tests.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77523 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 2a00962421 Add first changes needed for OWNERS file support.
This changes adds the first pass of code needed for OWNERS files.
In total there should probably be maybe four user-visible changes:
  * new gcl/git-cl "suggest-reviewers" command
  * a presubmit hook on upload to automatically add the reviewers
  * an addition to gcl/git-cl status command that tells you
    which files still need review/approval.
  * a presubmit hook on commit to ensure all of the needed reviewers
    have approved the file.

This change implements a core "owners Database" object with the
dumbest possible algorithm for determining a covering set of reviewers,
and the skeleton of the presubmit hooks. This code will not be
used by anything yet, and is also missing unit tests.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76342 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 1f31281229 scm.SVN.GenerateDiff() expects an array.
So pass a single item array. The presubmit checks would fail otherwise.

This code path was definitely not exercised by the unit tests. Unit tests are
left as an exercise to the reader.

TBR=vbendeb
BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74396 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ab05d582fa Modify presubmit checks to work on changed lines only.
Unittest is being also updated.

TEST=manual
. run ./presubmit_unittest.py, observe success
.create a CL with code style violations (long lines, traling spaces) and observe the violations reported by 'git cl presubmit'

Patch contributed by Vadim

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74378 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 7444c50483 Improve presubmit_support.py handling of git checkout.
It would fail otherwise when called directly from a git checkout subdirectory.

Updated unit test.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74281 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 5d0dc43e26 Fix path filtering to be on the relative path and no on the absolute path.
Add logging to presubmit_support.py.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@70378 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org b17b55beca Disable the remaining pylint warnings locally and enable pylint warnings in PRESUBMIT.
This causes some code clutter.

TEST=Increased pylint warning level
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64913 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org cb2985fb69 Largely reduce the number of pylint warnings and fix one typo.
Most of them are style issues or variable aliasing.

TEST=Can almost enable pylint warnings
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64908 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 310b355529 Fix decoding to work more often with various encodings found on platforms.
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64598 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 8d19523063 Add a note warning the users that presubmit hooks will be run.
Otherwise the scripts make it looks like they are hung when the presubmit checks
are slow.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61506 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 35db5099a4 This is still necessary.
This breaks non-ascii output on Windows but if it's not there it breaks unicode
output on all other platforms. Ah code pages...

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59966 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5631746743 Improve the testing situation on Windows.
For now that involves disabling a lot of tests when they can't be run.

I'm unsure about the ascii encoding, it fails here if I keep this call on a French UI.

TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3333028

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59137 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org fa410372ba Add pylint to presubmit checks.
This tool has been quite useful noticing errors in the past and I'd have avoided a breakage in r58936 if I had run it.

Had to fix a few scripts first.

BUG=none
TEST=new test

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59107 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
bradnelson@google.com 4c13cccd83 Handle the case when there is unicode in the tree status more gracefully.
BUG=None
TEST=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57447 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org b1901a6e45 Look for PRESUBMIT.py beyond root if inherit-review-settings-ok is present.
Patch contributed by Darin Petkov

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@49868 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
tony@chromium.org 5e9f2ed7fb Fix presubmit_unittests on some versions of python2.5.
On our hardy boxes, the python has the json module, but it doesn't
have all the expected methods.  Fallback to simplejson if it
doesn't have json.loads().

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@43907 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org d08cb1e848 Fix import of simplejson included in depot_tools
TEST=verified it works in python 2.4
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@42177 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 59c7ba6b87 Add simplejson 2.1.0 and use it when it's not already installed.
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@42175 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org fb11c7b98d Add input_api.json to presubmit checks.
Review URL: http://codereview.chromium.org/1116001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@41973 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org a73d793164 Fix the regexp in DEFAULT_WHITE_LIST.
For example, r".*\.c" was triggering for foo.checksum.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37461 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org ef77648dd4 Change the default source lists;
Remove *.txt and *.json, add *.pl and *.pm.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37406 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
estade@chromium.org 593258b903 Add a trailing \ when printing filenames for presubmit checks.
This makes it easier to apply commands to a set of files. For example:

Run the command: svn pset svn:eol-style LF \
  chrome/browser/extensions/extension_accessibility_apitest.cc \
  chrome/browser/extensions/extension_accessibility_api_constants.cc \
  chrome/browser/extensions/extension_accessibility_api.h \
  chrome/browser/extensions/extension_accessibility_api.cc \
  chrome/browser/extensions/extension_accessibility_api_constants.h \
  chrome/browser/gtk/accessible_widget_helper_gtk.h \
  chrome/browser/gtk/accessible_widget_helper_gtk.cc \
  chrome/browser/gtk/accessibility_event_router_gtk.h \
  chrome/browser/gtk/accessibility_event_router_gtk.cc \
  chrome/common/accessibility_events.cc \
  chrome/common/accessibility_events.h

requires just 1 copy-paste.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37350 0039d316-1c4b-4281-b951-d872f2087c98
15 years ago
maruel@chromium.org 5aeb7dd54c Reapply 32057, 32058, 32059, 32062 and fixes problems introduced by these changes.
Noteworthy change is scm.SVN.GetFileProperty calls Capture instead of Run.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32181 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 261eeb5e93 Revert 32057, 32058, 32059, 32062 because they still have unwanted side-effects.
Revert "Group SCM-specific functions in classes to simplify generalization of the interface."
Revert "Fix 2 recently introduced errors."
Revert "Fix a variable aliasing error."
Revert "Fix typo."

TBR=dpranke
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32065 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 85a3192f9c Group SCM-specific functions in classes to simplify generalization of the interface.
TEST=none
BUG=none

Move scm functions into a class to make it simpler to manage.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32057 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org e3608dfc1a Run pychecker over most scripts in depot_tools. Catched a few bugs.
TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@31590 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
gspencer@google.com efb9450e27 This makes presubmit queries accept "yes" as well as "y"
as an answer.
Review URL: http://codereview.chromium.org/268023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28557 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
thestig@chromium.org de24345ee7 Make the try slave selection client side.
BUG=23071
TEST=none
Review URL: http://codereview.chromium.org/248029

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28155 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
chase@chromium.org 8e416c83a8 Git support in presubmit tests.
Expand presubmit_support and gclient_scm to support
getting basic status and changed files from a Git
checkout.

BUG=5339
TEST=presubmit_support.py works from a git checkout,
gcl presubmit works from a svn checkout
Review URL: http://codereview.chromium.org/242140

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@28092 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 5f3eee3bab gclient: remove wildcard import from git_scm
Part of a larger refactoring to abstract SCM-specific bits.

presubmit_support, revert, gcl: modify to import gclient_scm and gclient_utils

Part of a larger refactoring to abstract SCM-specific bits.

revert, gcl: modify to import gclient_scm and gclient_utils

Part of a larger refactoring to abstract SCM-specific bits.

gclient: pull out SCM bits

Pulled out SCMWrapper into gcliet_scm.py as part of a larger refactoring to
abstract SCM-specific bits. Plan is to evenutally add git support.

Pulling out SCMWrapper also required pulling out utility functions into
a gclient_utility.py.

Patch contributed by msb@

TEST=none
BUG=none


git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@26423 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
pam@chromium.org ed9a083365 Report computation time before showing a prompt, so the response time
isn't included in the calculation.

BUG=none
TEST=submit change with presubmit warning, note reported time

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@25806 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
thestig@chromium.org 6bd3170a1a Change directory to repository root before running CheckSvnModifiedDirectories.
Review URL: http://codereview.chromium.org/191002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@25270 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org d59982a1c6 Treat .txt files as 'source' files (to enforce LF and line length)
Review URL: http://codereview.chromium.org/174210


git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@24100 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
jam@chromium.org 2a891dc893 Print out how long presubmit checks took if it's more than 1 second.
Review URL: http://codereview.chromium.org/174163

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@23870 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
thestig@chromium.org da8cddddfe Add a presubmit check for accidental checkins of files under a SVN modified directory.
Review URL: http://codereview.chromium.org/155489

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@23271 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org ce8e46b3b2 Ask for feedback one time out of 5, only when there is presubmit check notification.
TEST=unit test
BUG=none
Review URL: http://codereview.chromium.org/147162

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@19429 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org c0b2297c8a Change RunPythonUnitTests() to run the unit tests in a separate process.
The unit tests could modify global state in hard-to-revert ways and would make the PRESUBMIT.py check flaky.
Having the test running out of process alleviate any potential issue at the cost of speed (more noticeable on Windows).

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@19248 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org c70a220f72 Add partial presubmit support to git checkout.
Also fix argument processing.

It doesn't works at the moment but doesn't throw an exception either. :)

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18611 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 4ff922af46 Remove gcl.ChangeInfo dependency in presubmit_support.py.
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18309 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 8d5c9a5a52 Fix gcl breakage.
Small refactor of ChangeInfo to not hardcode the use of GetRepositoryRoot().

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18272 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 17f59f2dd9 A step closer to make presubmit SCM independent.
Stop presubmit_support.py from calling gcl.GetRepositoryRoot(). Instead, save the repository root in ChangeInfo and name it GetLocalRoot() to make it less confusing.
Add GetFileList() and GetFileNames() to ChangeInfo to make it less confusing and more "interface-like".

TEST=updated unit tests with a lot of pain
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18266 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 07bbc21467 Actually make use of the may_prompt flag.
This is annoying when using gcl presubmit.

TEST=unit test
BUG=none
Review URL: http://codereview.chromium.org/122010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18141 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org df1595ac20 Fix the ALL_CAPS black list regexp.
Add some regexp unit test.

TEST=unit test
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18139 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 92022ec600 Melting pot of changes.
Fix GclChangeInfo.__getattr__ to only accept uppercase tags.
Rename illnamed GclChangeInfo.Change() to GclChangeInfo.Name().
Fix random comments.

TEST=unit test
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18138 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 196f8cbabb svn always add a \n at the end of the output.
It's better to strip it off.

TEST=none
BUG=none
TBR=nsylvain

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18123 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 5de1397a35 Make AffectedFile usable as items.
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18076 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org b0dfd35742 Make the presubmit output much more compact.
Disable prompting when using gcl presubmit xxx.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18054 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org b7d469083f Add CheckChangeSvnEolStyle presubmit canned check.
TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@18053 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 3410d917f3 Add InputApi.AffectedSourceFile() and custom filtering support.
TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17975 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 44a17adf95 Add InputApi.ReadFile() and presubmit_canned_checks.CheckChangeHasNoCR().
ReadFile limits to reading files inside the repository.
CheckChangeHasNoCR reads the text files looking for \r and fails if found.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17857 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org de0ba297d9 Fix presubmit_support.py run standalone and RunPythonUnitTests
TEST=none
BUG=none
TBR=joi

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17839 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org d7dccf5614 Add InputApi.is_committing to be able to return a failure or notification, depending on the check.
Add input_api.traceback, useful for dumping information.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17837 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 32ba260f1e Added patchset persistence in gcl, this is necessary to implement a presubmit queue.
Now enforces ChangeInfo.issue (and .patchset) to be a int.
Renamed LoadChangelistInfo() to ChangeInfo.Load().
Removed ChangeInfo.__init__() default parameters.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17836 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 1487d53b6c Improve the presubmit_canned_checks testing by using a real mock and testing for more cases.
Remove a superfluous check in CheckLongLines().

Add unittest to InputApi.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17805 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 4661e0c77b The broken PRESUBMIT.py was fixed so reintegrating revision 17554 (which was good in the first place).
BUG=none
TEST=none
TBR=joi
Review URL: http://codereview.chromium.org/119130

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17578 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 0018e7313d Seems like revision 17554 busted the presubmit scripts, reverting.
TEST=None
BUG=None
TBR=joi
Review URL: http://codereview.chromium.org/119122

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17561 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 8b40a9b81b Fix ListRelevantPresubmitFiles().
It was affected by the current directory!

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17554 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 77c4f0f135 Remove SVN-specific function InputApi.FilterTextFiles().
Review URL: http://codereview.chromium.org/115923

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17202 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 15bdffa063 Make AffectedFile member variables private.
Cache SvnAffectedFile.IsTextFile() return value.

Improve the unit test by not/less relying on the local file system.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17180 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 1e08c00d60 Add AffectedFile.IsTextFile() and deprecate AffectedTextFiles().
Make DepotToLocalPath() and LocalToDepotPath() not static. It is necessary for a subsequent change since I need to factor out it's SCM assumption.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17091 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 6ebe68a73d Make the member variable 'protected' in the python sense.
Review URL: http://codereview.chromium.org/113899

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@17039 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org e1a524ff00 Remove SPECIAL_KEYS and GclChange.Changelist() to simplify the code.
Review URL: http://codereview.chromium.org/113883

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16983 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org f3eee5692c Add a unit test for input_api.change.tags.
Review URL: http://codereview.chromium.org/113859

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16959 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org 9711bbafde Add InputApi.version so the presubmit script can mark a minimum supported version for instance.
BUG=None
R=joi

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16819 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago
maruel@chromium.org dbbeedc691 Factor out SVN-specific methods out of AffectedFile.
TEST=New unit tests.
BUG=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16785 0039d316-1c4b-4281-b951-d872f2087c98
16 years ago