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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
BUG=gcl commit doesn't show any "svn: 'bleh' is not a working copy" error
R=jam
Review URL: http://codereview.chromium.org/113782
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16781 0039d316-1c4b-4281-b951-d872f2087c98
Changed InputApi.PresubmitLocalPath() to contain the absolute path without the script name.
Review URL: http://codereview.chromium.org/113354
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@16157 0039d316-1c4b-4281-b951-d872f2087c98