Commit Graph

354 Commits (03cc6ee972814d83e9e274adb16bf6847664d5ce)

Author SHA1 Message Date
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 3e331bdf16 Clean up the parsing of approvals for OWNERS checks.
This fixes bugs 76724. We will now allow approvals from
only non-owners to be sufficient if the patch is from an OWNER.

Also, this strips out the code for suggesting reviewers during upload completely. I've come to believe that this should be done by gcl and git-cl directly rather than through a presubmit hook, when the change is being initially created. CheckOwners() is now a no-op on upload.

(We might need to add a new value to the codereview.settings file instead to indicate if we want this to happen).

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79339 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 8cceb18f4b Forcibly uses a non-standard port for local svn and git servers.
This reduces the likehood of conflict with local server and makes possible to
run this check two times in parallel.

R=dpranke@chromium.org
TEST=moar unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79281 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 18f99c2865 For now, stop suggesting reviewers during 'gcl change'.
This fixes an issue where we would suggest '*' and then choke on the text
down the road. Also, the suggestions were not yet very useful.

R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79227 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 972c6acdee add test with an OWNERS file that has names plus a wildcard
Review URL: http://codereview.chromium.org/6717004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79206 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
bauerb@chromium.org 866276c2ec Add support for wildcards in svn remote configuration.
BUG=none
TEST=manual

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78741 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
dpranke@chromium.org 73ac0f11e3 Apparently when I changed OptionallyDoPresubmitChecks() to return the
output object, I forgot to modify the commit command, and so now we're
ignoring failures complete. That's not good :( 

Landing w/o review (but with unit tests!) to minimize damage.
Review URL: http://codereview.chromium.org/6688017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78627 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 1b98c432ca Check for a missing scheme in the input_api.host.
R=chase@chromium.org,maruel@chromium.org
Review URL: http://codereview.chromium.org/6712007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78599 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org b68786e8b1 Add tests that were annoyingly missed on the previous checkin, and fix
bugs that for some reason the presubmit missed the first time around.

TBR=chase@chromium.org,maruel@chromium.org

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78497 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org fdecfb77a2 Fix the owners implementation to validate method inputs.
R=chase@chromium.org,maruel@chromium.org
Review URL: http://codereview.chromium.org/6677090

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78454 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 96b6b3bffd Revert both r78355 and r78329
"Fix regression introduced in r78329."
"Modify gcl to use suggested_reviewer output from presubmit_support."

My quick fix was insufficient.

TBR=dpranke

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78356 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 158f438fd2 Modify gcl to use suggested_reviewer output from presubmit_support.
Review URL: http://codereview.chromium.org/6696010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78329 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
maruel@chromium.org 8c41512962 Improve SVN.Revert() again to work better in reverting svn added directories.
Revert the order back to deleting then svn revert'ing, which is safer than the
reverse. Document a bit better the behavior.

R=dpranke@chromium.org
BUG=none
TEST=commit queue should die less often


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78224 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 330f534792 Although there appear to be one or two tests that are flaky on both mac and linux.
Review URL: http://codereview.chromium.org/6681019

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77955 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 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 86bbf19ccf Add more tests for owners.py, remove unneeded code, make syntax errors more helpful
Review URL: http://codereview.chromium.org/6639010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77522 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 7eea259694 use PEP-8 naming for method names in owners.py, tests/owners_unittest.py
Review URL: http://codereview.chromium.org/6646007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77521 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f9040728dc Shorten RemoveDirectory and rename to rmtree. Remove rmtree from fake_repos.
Keep an alias to RemoveDirectory, will be removed in a later change.

TEST=new unit test to test this function
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77463 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 924158a717 Add code to correctly revert a svn add'ed file.
Improve test to make sure svn status comes out clean.

TEST=improved unit tests and scm.SVN.Revert() should now do the right thing
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77391 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 6dada4eef1 make tests work, implement 'set noparent', owners propagating down
Review URL: http://codereview.chromium.org/6627059

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77351 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 7dfb9b747c Add trial_dir to manage automatic trial directory creation and deletion.
The tests now base the directory in mkdtemp() which is much safer than using the
source's file directory as before.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77278 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org ae43f83fe3 add owners_file() convenience constructor function for testing, make user names a bit more generic
Review URL: http://codereview.chromium.org/6632014

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77178 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
dpranke@chromium.org 3c08dd45cc Add some unit tests. They don't pass yet.
Review URL: http://codereview.chromium.org/6612011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76980 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 5257081dbf Remove FakeReposBase.HOST and add svn_base and git_base.
Ease support for different port if necessary.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76968 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org bd21c51d98 Correctly kill 'git daemon' child process, fixing a lot of testing issues.
Add code to wait for the bound port to open and close correctly, removing race
conditions.

BUG=test reliability
TEST=better

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76966 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 80277cf4e7 Clean gclient_smoketest import and call of super class.
BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76965 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org af45349294 Improve SVN.Revert() to catch more corner cases.
Add a unit test to catch potential regressions. Remove an old test new code broke.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@76805 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 885d6e890f Fix scm.SVN.GetCheckoutRoot() so it is not confused by intermixed checkouts
from the same repository.

TEST=added regression test.
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@75937 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 00fdcb3380 Fix bug introduced in r51121: gcl upload crashes on a 'revived' file.
To reproduce, svn delete a file, then svn merge -c -N the file to revive it.

Also fix a unit test that was broken for a while.

TEST=none
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@75835 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 cdbecc49e9 Improve tests to support more git versions and different outputs.
Disable warning W0404 in pylint.

BUG=none
TEST=should now work on googlers workstations

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74242 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 07ab60e26f Move reverting code from gclient_scm to scm to be able to reuse the code.
There is 2 changes while moving the code:
- Making externals handling an option.
- Not trapping EnvironmentError.

This code will be reused by the commit queue.

TEST=unit tests
BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74181 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
estade@chromium.org fdcc9f7f4c Add a presubmit test that asserts TODOs have owners.
For example, TODO(foo) is ok, but TODO: do something is not.

BUG=none
TEST=included

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74032 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 17f9e1f7dc Add comment to clarify SHOULD_LEAK
NO CODE CHANGE.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@73510 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 26d762d0c0 Add code to FakeReposBase to revert changes committed by a unit tests.
This enables seamless unit tests that check-in files without side-effects on the
remaining unit tests.

BUG=none
TEST=none
TBR=dpranke

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@73456 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 21548eb01b Change the fake repo svn users to be emails.
Also remove the harcoding of the names by putting them in a variable.

This will help testing of the commit queue.

BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@72454 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ce117f6193 Add --ignore-externals to svn update and svn checkout invocations.
svn:externals are slow to update and are unnecessary in a gclient environment.

TEST=none
BUG=55904

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

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