If (hypothetically) you pointed your WebKit repo environment variable to
Blink and not WebKit, then the change_re will not find anything in the
log and the script will explode on changes[0] because changes=[].
Fix this by being robust to not being able to parse anything out of the
log in process_git_commits.
R=szager@chromium.org
BUG=none
Review URL: https://chromiumcodereview.appspot.com/16258010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@205290 0039d316-1c4b-4281-b951-d872f2087c98
Greatly improves presubmit performance on Blink where there may be rule violations (my test case went from 50s to 5s).
BUG=236206
TEST=new test in presubmit_unittest.py; manual performance test on Mac and Windows after touching hundreds of files in webkit; testing included add/move/edit/delete on both binary and text files.
Review URL: https://chromiumcodereview.appspot.com/15898005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@205275 0039d316-1c4b-4281-b951-d872f2087c98
> Default to using --3way when using `git cl patch`.
>
> Resolving conflicts is much more fun this way.
>
> BUG=None
> TEST=Ran `git cl patch <issue>` with both clean and unclean patches, also checked behaviour of --reject is preserved.
> R=maruel@chromium.org
>
> Review URL: https://codereview.chromium.org/16211005TBR=tapted@chromium.org
Review URL: https://codereview.chromium.org/15786008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@204978 0039d316-1c4b-4281-b951-d872f2087c98
Resolving conflicts is much more fun this way.
BUG=None
TEST=Ran `git cl patch <issue>` with both clean and unclean patches, also checked behaviour of --reject is preserved.
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/16211005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@204671 0039d316-1c4b-4281-b951-d872f2087c98
When a developer runs download_from_google_storage, and they don't have a .boto
file, the tool automatically runs "gsutil config" to create one for them.
Unfortunately, a side consequence is that if a bot runs the script, and it has
a boto file that 403's, then it would run "gsutil config" which moves the .boto
to .boto.bak, and creates an empty .boto file. This should not be the intended
action.
This CL changes so that "gsutil config" is not called, but instead just fails
with a message telling the dev to run that command.
TBR=maruel@chromium.org
Review URL: https://codereview.chromium.org/16072023
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203824 0039d316-1c4b-4281-b951-d872f2087c98
.search() may return results in unexpected order. Manually sort the entries
otherwise first_day and last_day could be inversed, leading to negative number
of days.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16003003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203792 0039d316-1c4b-4281-b951-d872f2087c98
If ~/.gitconfig contains:
[diff]
renames = "true"
then git diff --name-status will produce output that confuses the parsing
in svm.GIT.CaptureStatus and git diff will produce output that confuses the
patch command on trybots. Passing --no-renames explicitly counteracts this.
Review URL: https://chromiumcodereview.appspot.com/16057018
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203778 0039d316-1c4b-4281-b951-d872f2087c98
76 columns is fine for most patches but reverts will eat another
4 spaces in indentation. For the sake of revert clarity this reference
line is reduced to 72 columns.
Review URL: https://chromiumcodereview.appspot.com/16152005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203530 0039d316-1c4b-4281-b951-d872f2087c98
Adds an extra line to the default text description to help judge whether the
76 character recommended limit is being passed.
Review URL: https://chromiumcodereview.appspot.com/15670012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203314 0039d316-1c4b-4281-b951-d872f2087c98
This is ninja at 4df15104d532ad91b7a9d3c54985180a6c2f2533.
Changes since 1.3.3 include that affect this Windows build:
- fixing '-t msvc' to stop lowercasing paths from /showIncludes output
- fix a crash in tool target suggestions
- error checking on -j.
This version is newer than 1.3.3 but --version will say 1.3.0git. Other
platforms are staying at 1.3.3. All platforms will re-converge at 1.4.0.
R=thakis@chromium.org
BUG=242397
Review URL: https://codereview.chromium.org/16232002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@203165 0039d316-1c4b-4281-b951-d872f2087c98
Also adds msg to assertions to print current size of data written to stdout.
Review URL: https://chromiumcodereview.appspot.com/16058007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@202863 0039d316-1c4b-4281-b951-d872f2087c98
As noticed in the TODO, raw_input (used by ask_for_data) works badly
on background threads. On my Windows it doesn't even print the prompt which
makes it hard to interact with it.
Better to just abort and tell the user of gclient how to proceed.
BUG=
Review URL: https://chromiumcodereview.appspot.com/15421005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@201295 0039d316-1c4b-4281-b951-d872f2087c98
On mac, I ran:
git checkout v1.3.3
./bootstrap.py
CXX=path/to/chromiums/clang++ ./configure --with-gtest=path/to/gtest
./ninja ninja_test
./ninja_test # all passed
strip ninja
Empty build perf is ~7% slower (https://github.com/martine/ninja/issues/544),
but this allows us to enable deps mode by default which will make empty builds
twice as fast.
Mac binary size grew by ~16kB.
The linux binaries were built by thestig@chromium.org.
The windows binary was built by scottmg@chromium.org.
New stuff since 1.1:
- NINJA_STATUS now allows %e, for elapsed time.
- "pool" feature
- "compdb" tool for writing clang compilation databases
- faster deps mode (needs to be explicitly enabled in gyp, not done yet)
BUG=241628
Review URL: https://codereview.chromium.org/15490003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@201143 0039d316-1c4b-4281-b951-d872f2087c98
Regular map is preferred when parallization does
not speed presubmit tests. It makes stacktraces more
understandable and facilitates debugging. Only use
parallel pool when tests > 1.
R=maruel@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15385002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@200940 0039d316-1c4b-4281-b951-d872f2087c98
Windows bots are having trouble calling download_from_google_storage.py from the
DEPS hooks. This should allow it to be called as just "download_from_google_storage".
BUG=
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/15395002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@200939 0039d316-1c4b-4281-b951-d872f2087c98
This patch fixes the implementation as follows:
1/ Fix '--full' option to check for all changes in the
current branch relative to upstream. The old code only
considered currently modified files, which made little
sense.
2/ Fix '--full' option to apply Chromium style too.
3/ Use a proper source file filter. The original code used
".*.cc .*.cpp .*.h" as the filter, which didn't catch anything !?
4/ Add --no-ext-diff to make it work with custom "git diff" handlers.
R=agable@chromium.org, maruel@chromium.org, pliard@chromium.org
BUG=NONE
Review URL: https://chromiumcodereview.appspot.com/14942012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@200832 0039d316-1c4b-4281-b951-d872f2087c98
Until r200514 is merged into every active branches on Windows, python can't be
upgraded to 2.7.x.
TBR=iannucci@chromium.org,joi@chromium.org
BUG=241769
Review URL: https://codereview.chromium.org/15294005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@200800 0039d316-1c4b-4281-b951-d872f2087c98
Some PRESUBMIT files dynamically generate test list
and so may pass an empty list to RunTests. There
appears to be a bug in multiprocessing.Pool that
causes a stall in map_async with an empty list.
TBR=maruel
Review URL: https://chromiumcodereview.appspot.com/14962011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@200613 0039d316-1c4b-4281-b951-d872f2087c98
Allow users to set a git config entry which stops
gclient from messing with remote.origin.url. Useful
for using experimental repos.
Review URL: https://chromiumcodereview.appspot.com/14731015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@199532 0039d316-1c4b-4281-b951-d872f2087c98
[1] *scm_test.py are deeply broken, svnadmin is missing for svn_bin\.
And the git test are failing at shutdown.
Also Fix SvnCheckout.testMove flakiness.
TBR=ilevy@chromium.org,szager@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14729012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198900 0039d316-1c4b-4281-b951-d872f2087c98
Make upload.py treat images as binaries, so they upload correctly and display in Reitveld.
BUG=227346
Review URL: https://chromiumcodereview.appspot.com/14820015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198833 0039d316-1c4b-4281-b951-d872f2087c98
Helps scanning faster. colorma is already slightly used by gclient but wasn't
by git-cl yet.
Update a unit test to be stricter, it was caught in the cross fire as colorma
hooks sys.stdout and stderr.
R=iannucci@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15025003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198689 0039d316-1c4b-4281-b951-d872f2087c98
As per the discussion in
https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-dev/Hl2QPNQ9E5o,
this CL adds a 'git cl format' command. Users may use it at their own
discretion. By default, it generates a diff against the local tracking
(upstream) branch and runs clang-format-diff on that diff. When given the
'--full' flag, it instead identifies all .cc, .cpp, and .h files in the diff and
runs clang-format on the entirety of each of those files.
Review URL: https://chromiumcodereview.appspot.com/14629012
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198477 0039d316-1c4b-4281-b951-d872f2087c98
Sample output:
$ drover --merge 196360 --milestone 27
Not all platforms have same branch number for M27.
Here's a list of platforms on each branch:
-(1453): win, ios, cf, mac, linux, android
-(1460): cros
Which branch? ('q' to cancel) 1453
Review URL: https://chromiumcodereview.appspot.com/14544004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198282 0039d316-1c4b-4281-b951-d872f2087c98
SVN traps SIGINT and attempts to clean itself up, but this results in hangs
waiting for TCP. This patch does two things: daemonizes worker threads so they
are culled when the main thread dies (is ctrl-C'd) and keeps track of spawned
subprocesses to kill any remaining ones when the main program is ctrl-C'd.
A user ctrl-C'ing gclient has to manually terminate hung SVN processes, so this
introduces no extra data loss or hazard. stracing a hung SVN process shows that
it is indeed hanging on TCP reads after receiving a SIGINT, implying there is an
underlying but in the SVN binary.
Review URL: https://chromiumcodereview.appspot.com/14759006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198205 0039d316-1c4b-4281-b951-d872f2087c98
It is somewhat surprising when git-cl, which acts as a git subcommand, launches
a different editor. In particular, git has a config option (core.editor) which
specifies the editor that should be used. Since we already respect $GIT_EDITOR,
it makes sense for git-cl to respect core.editor and $VISUAL as well.
R=maruel@chromium.org
BUG=237504
Review URL: https://chromiumcodereview.appspot.com/14854003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@198101 0039d316-1c4b-4281-b951-d872f2087c98