This means parsing the DEPS file all the time preemptively in case it's needed
for a From() reference. This could break certain checkout, we'll see.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8143022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104817 0039d316-1c4b-4281-b951-d872f2087c98
This makes coherency checks more consistent for DEPS vs .gclient.
It's still not thread safe but the mutation code paths are easier to follow.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135019
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104772 0039d316-1c4b-4281-b951-d872f2087c98
This would have caught a bug in the CQ instead of silently failing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104767 0039d316-1c4b-4281-b951-d872f2087c98
Makes SCM take the |file_list| as a parameter instead of getting it from |options|.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8133032
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104148 0039d316-1c4b-4281-b951-d872f2087c98
While trying to fix all the multithreading issues...
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8135007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104026 0039d316-1c4b-4281-b951-d872f2087c98
While re-reading the code, I thought I had found a bug but I hadn't. So I wrote
the test to document the behavior to not make the same error again.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8121001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103772 0039d316-1c4b-4281-b951-d872f2087c98
The patches needs to by applied 'in-order' to not delete source files.
Added more tests.
R=dpranke@chromium.org
BUG=94330
TEST=
Review URL: http://codereview.chromium.org/8038056
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103309 0039d316-1c4b-4281-b951-d872f2087c98
Also reorder some patchset in preparation to patchset reording CL.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8066012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103147 0039d316-1c4b-4281-b951-d872f2087c98
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/8059009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102930 0039d316-1c4b-4281-b951-d872f2087c98
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
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
The dependencies will continue to be managed. A new flag is present in the .gclient file to control this behavior.
Review URL: http://codereview.chromium.org/7918027
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102002 0039d316-1c4b-4281-b951-d872f2087c98
I had forgot one access to _requirements. Now that tests are run, this change is
safer to commit.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7909012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101856 0039d316-1c4b-4281-b951-d872f2087c98
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
This would result in a hang during gclient sync.
Includes regression test.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7885008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101070 0039d316-1c4b-4281-b951-d872f2087c98
stderr is not redirected by default. stdout is not allowed.
Both were oversight.
Do not override stdin=None in case the user would response to stderr output for
example.
Increase test coverage.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7860041
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100456 0039d316-1c4b-4281-b951-d872f2087c98
Makes the code clearer by separating good and bad use cases.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7850018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100198 0039d316-1c4b-4281-b951-d872f2087c98
Add support for a few svn:* properties.
Silently ignore svn:mergeinfo. It's useless once we're switched to git-land anyway.
More testing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7840003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99952 0039d316-1c4b-4281-b951-d872f2087c98
I plan to do some refactoring and these tests will help reduce the likehood of
regression.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7739039
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99799 0039d316-1c4b-4281-b951-d872f2087c98
Make tests more exhaustive in prospect to file move handling.
Rename 'c' variables to 'p' to easy copy paste.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7828017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99439 0039d316-1c4b-4281-b951-d872f2087c98
gclient_scm_test.py throws randomly gclient_utils.Error.
Simply update the test expectation. It has no effect on runtime.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7828024
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99436 0039d316-1c4b-4281-b951-d872f2087c98
Verify correctness with a unit test written explicitly to verify all corner cases.
BUG=60725
TEST=new unit test
Review URL: http://codereview.chromium.org/6598087
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99234 0039d316-1c4b-4281-b951-d872f2087c98
That means some properties will being to be applied.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7776015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99182 0039d316-1c4b-4281-b951-d872f2087c98
Well, the funny thing is that it doesn't find the bug but the framework is
already good enough as-is to be worth checked-in, so the next commit can show
the relevant difference.
R=dpranke@chromium.org
BUG=60725
TEST=
Review URL: http://codereview.chromium.org/7773001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98869 0039d316-1c4b-4281-b951-d872f2087c98
Still not enough to fix presubmit checks on commit queue but a step in the
right direction.
Review URL: http://codereview.chromium.org/7748020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98445 0039d316-1c4b-4281-b951-d872f2087c98
It's mostly for debugging when testing with a leaking service. It's going to be
rarely used but I used it often enough to warrant it being committed.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7744030
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@98438 0039d316-1c4b-4281-b951-d872f2087c98
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
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
Improve the list of exception to include very_long_symbol_names.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7097012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@89696 0039d316-1c4b-4281-b951-d872f2087c98
Use p.is_new signal and set it manually with rietveld patches.
Add regression test for +x.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7054057
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87858 0039d316-1c4b-4281-b951-d872f2087c98
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
Add is_new to be used in a later patch by checkout classes.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7054048
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87838 0039d316-1c4b-4281-b951-d872f2087c98
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
It needs to be parsed manually and assumes '=*' for property that do not specify
a value.
Add clearer message on failure like that by specifiying the command line.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7085022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87255 0039d316-1c4b-4281-b951-d872f2087c98
This makes it coherent with the commit queue by keeping the lgtm at a single
place.
This simplifies owners check code.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7082029
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87251 0039d316-1c4b-4281-b951-d872f2087c98
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
When specifying a revision (with -r) propagates the date of the revision to its children.
Review URL: http://codereview.chromium.org/6873110
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83313 0039d316-1c4b-4281-b951-d872f2087c98
Rename check_call to check_call_out. It's a quite specific need when stderr is
needed or when the user doesn't want the default arguments of check_output.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6882127
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83023 0039d316-1c4b-4281-b951-d872f2087c98
seems to take an inordinate amount of time. The idea is to
lint whole files, and only try to compute deltas if the file
contains at least one error.
For my environment, the three affected presubmit rules took
2000ms each for a 4-file changelist. With this change,
all my rules run in about a second, and none take anything
close to 500ms.
Also, since there seem to be environment-dependent factors at
work here, I'm proposing putting timer warnings that print
a message if any check takes longer than 500ms.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82559
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=82568
Review URL: http://codereview.chromium.org/6883050
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82607 0039d316-1c4b-4281-b951-d872f2087c98
This enables doing late modifications like updating the copyright notice or fixing line endings.
Also silence the checkout operations a bit more when VOID=subprocess2.VOID.
Add corresponding unit tests.
Review URL: http://codereview.chromium.org/6891003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82587 0039d316-1c4b-4281-b951-d872f2087c98
seems to take an inordinate amount of time. The idea is to
lint whole files, and only try to compute deltas if the file
contains at least one error.
For my environment, the three affected presubmit rules took
2000ms each for a 4-file changelist. With this change,
all my rules run in about a second, and none take anything
close to 500ms.
Also, since there seem to be environment-dependent factors at
work here, I'm proposing putting timer warnings that print
a message if any check takes longer than 500ms.
Review URL: http://codereview.chromium.org/6883050
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82559 0039d316-1c4b-4281-b951-d872f2087c98
At the moment it just fetches the patch. It's still useful to debug rietveld
issues.
Improve resiliency to invalid patches.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6825085
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81305 0039d316-1c4b-4281-b951-d872f2087c98
Since no output is user visible anyway, causing a hang with no clue about what
to type in.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6823091
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81302 0039d316-1c4b-4281-b951-d872f2087c98
It could result in failed tests so I'll revert if it ever becomes problematic.
It ran fine with my limited testing.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6813114
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81279 0039d316-1c4b-4281-b951-d872f2087c98
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
Add better code to handle diff header, especially add more patch verification
code.
Add a lot of tests.
Add mangling of \ to /.
R=dpranke@chromium.org
BUG=78561
TEST=
Review URL: http://codereview.chromium.org/6802021
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81017 0039d316-1c4b-4281-b951-d872f2087c98
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
The reason of this change (beside deleting 30 lines) is to fix pylint on Mac.
For an unknown reason, it was dying here trying to process the minidom import.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6799021
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80770 0039d316-1c4b-4281-b951-d872f2087c98
Also fix a few issues found along the way.
Tests had regressed a lot. Add a lot of tweaks to make most test pass.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6792060
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80618 0039d316-1c4b-4281-b951-d872f2087c98
It will be used for:
- git cl patch so binary files can be patched
- try jobs instead of doing a curl <url> | patch
BUG=
TEST=
Review URL: http://codereview.chromium.org/6792028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80355 0039d316-1c4b-4281-b951-d872f2087c98
Make sure every site that catches gclient_utils.Error also catch
subprocess2.CalledProcessError.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6691034
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80339 0039d316-1c4b-4281-b951-d872f2087c98
It should be fine now that I've fixed python2.5 compatilibity issues in subprocess2.py.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6759074
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80216 0039d316-1c4b-4281-b951-d872f2087c98
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