Commit Graph

753 Commits (27e6f9b90775b9e60d4b3cd10d9b649b2620f206)

Author SHA1 Message Date
maruel@chromium.org 373af80c9e Revert r138874 "Automatically adds quotes on Windows when necessary"
This breaks _some_ msysgit uses cases. I'll investigate later.

TBR=cmp@chromium.org
BUG=
TEST=


Review URL: https://chromiumcodereview.appspot.com/10445042

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@139114 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 9165550283 Fix git_cl_test.py on Windows
R=maruel@chromium.org
BUG=none
TEST=python.exe git_cl_test.py

Review URL: https://chromiumcodereview.appspot.com/10442028

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138964 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ca2b8e764e Automatically adds quotes on Windows when necessary
So that a command like
 "git config rietveld.viewvc-url http://src.chromium.org/viewvc/chrome?view=rev&revision="
works fine.

Fix the description automatically generated for the hooks to be using the same
code than for the one presented to the user.

R=cmp@chromium.org
BUG=
TEST=Tested manually on cygwin, win32, linux


Review URL: https://chromiumcodereview.appspot.com/10447021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@138874 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
zork@chromium.org 04704f7b4a Readd missing unittests for owners
TEST=Run tests/owners_unittest.py


Review URL: https://chromiumcodereview.appspot.com/10384099

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@137041 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 3da8317843 Implement proper svn copy when a file is copied, moved or renamed
R=nsylvain@chromium.org
BUG=
TEST=A basic unit test verifies history is kept

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135651 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
zork@chromium.org 046e175ff0 Output a list of suggested OWNERS reviewers when needed.
BUG=None
TEST=Change files that need OWNERS review.  Upload the patch.  Check that the warning suggests a minimum set of reviewers.

Review URL: https://chromiumcodereview.appspot.com/10222020

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135619 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ea15cb7791 Make checkout.*.prepare() delete the svn:ignored files.
Add corresponding support to scm.SVN.Revert() to clobber the svn:ignore'd files.

This makes the commit queue remove all the unversioned files, which could have
improved its stability. It failed in practice to improve it but it's still a
good thing to do overall.

R=petermayo@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@135333 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 264952ad00 There is no reason to not assume that status:null isn't 'M'.
Rietveld self-corrupts its status all the time, there is not point in bailing
just because of that. So just assume it's an 'M' and it'll work fine. In any
case, the diff is properly parsed to detect what was the real operation.

Add unit test that correctly process a deleted file with status:null.

TBR=nsylvain@chromium.org
BUG=
TEST=A corrupted patchset can still be committed with the Commit Queue.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134733 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
peter@chromium.org 1efccc8bc7 Add the ability to specify a target_os for gclient solutions
This ability is useful for versions of Chromium (i.e. Android) which want to
cross-compile to another platform that has a fixed set of custom dependencies.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134280 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 6208757463 Fix an error in gclient revert where a directory is unexpected and locked
This would spurious try job failures because the gclient revert step would throw
an exception.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133799 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ff9a217e26 Add disabled_warnings arg to RunPylint() and use the default pylintrc file by default.
Update pylintrc to be near the pylint 0.25.1 default file.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133707 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4f6852cca4 Remove python 2.5 compatibility code.
R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@133265 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org 9e3e82c1b3 Check binary existence in gclient: 2nd try.
The first approach crrev.com/132446 was reverted due to
Windows build breaks. This approach is more robust because
it actually tests the binary by running the command actually.

BUG=114483
TEST=succeeded on Linux

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132783 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 2a0108ebdb Revert r132446 "Check the existence and executability of scm commands"
This completely broke syncing on Windows.

TBR=mukai@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9956149

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132451 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
mukai@chromium.org d15a8fa135 Check the existence and executability of scm commands
BUG=114483
TEST=manually

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132446 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
kalmard@homejinni.com 6b0051e7c6 Allow overriding base-url in git-cl.
This is useful if git-cl has no way to find out the original svn repo's url
and the user does not wish to configure git-svn and fetch the repository.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@130372 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bauerb@chromium.org 4cea01ef65 Allow 'class Singleton<T>' in header files.
BUG=none
TEST='friend class Singleton<T>' is allowed.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@127751 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org aba6776889 Add a message that the list of directories needing owners may not be accurate on first upload, because we have no way to know whether the user is an OWNER for any of them.
BUG=117974
TEST=covered by presubmit unit tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126894 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
szager@google.com b9a78d31ba Added `gclient hookinfo`. This will be used to convert hooks into
repo post-sync hooks.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126426 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 3ecc8ea477 Adds saner behavior for git try -t foo to not fail in a inexplicable way.
Enforces that each builder and builder:test association must be in its own list item in PRESUBMIT.py/GetPreferredTrySlaves().

If a user run git try -t foo, trychange.py will now take the list of all the
slaves, will skip any :compile builder, and apply the test filter to them.

Currently, git try -t foo on a chromium checkout throws an exception because of
PRESUBMIT.py files containing test specification.

R=petermayo@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125975 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 9eef4f27d0 Fix support for --bot bot1,bot2 -t foo
Previously, it would apply the test filter only on the last bot.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125622 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
pam@chromium.org f46aed992a Show a list of directories missing OWNER reviewers on upload, and show directories rather than files missing OWNER approvals on commit.
BUG=117166
TEST=covered by presubmit unittests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125588 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dd44794218 Stop sending the testfilter= flag to the try server and process it locally.
The previous behavior would cause inproper parsing;
- the bot=bot1 flag would add 'bot1': ['defaulttests'] to the dictionary.
- the testfilter=test1 flag would append 'test1' to the list, causing the value
  to look like 'bot1': ['defaulttests', 'test1'].

I think on the long run the best is to keep --testfilter as a user interface but
not on the try server. This effectively stops sending testfilter=foo to the
server.

Add unit test to verify it's working properly. Refactor a bit to make unit
testing simpler.

R=petermayo@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@125405 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
davidbarr@chromium.org 47ca0ee560 Rework gclient 'recurse' command to use a WorkQueue.
Support --jobs in 'fetch' and 'recurse' commands. 

BUG=115840
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124657 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ffcc161fd0 Remove flaky git tests.
The mere fact that they were each looking at two different outputs was already a
bad sign. Then, occasionally, the output would still not match exactly. This
needs to be recoded so remove these tests in the meantime.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123743 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bashi@chromium.org fcffd48174 Fix compatibility with Xcode4.3 git
Xcode 4.3 git returns the version like below:

git version 1.7.7.5 (Apple Git-26)

Modify GIT.AssertVersion to accept such input.

Also modify tests/gclient_scm_test.py to pass tests, but not sure
the fix is collect.

BUG=chromium:115576
TEST=ran tests/gclient_scm_test.py

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123399 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
bulach@chromium.org bfffd45e89 Presubmit tests: allow 100columns limit for .java files.
Chrome for Android introduced the requirement for java files.
Android's style guide:
http://source.android.com/source/code-style.html#limit-line-length
defines 100 columns for .java files.
This patch changes the presubmit tests which are also used by chromium's CQ.

TEST=testCannedCheckJavaLongLines

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122938 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 8fab6b66ff Fix unicode upgrade of patch.
When a diff contains utf8 character, the filename would be stored as a unicode
object instead of a str. This is even if the buffer is originally sent as a
utf-8 encoded str. Then once the diff is reconstructed to be sent to 'patch', a
unicode object instead of a str would be sent, confusing patch.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122361 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 98e6945846 If both -R and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory 
to deps/. Currently, the directory in question is likely to remain in the 
working copy, despite having been removed, due to the presence of untracked 
files. This causes the checkout from deps/ to fail. 

With this change, when both --reset and --delete_unversioned_trees are 
specified, the the directory in question will be removed from the working copy, 
thereby allowing the copy in deps/ to be checked out correctly. 

Note that untracked directories which are explicitly ignored (ie in .gitignore 
or svn:ignore) will not be removed. 

Note that this was previously landed in http://codereview.chromium.org/9348054 
but reverted due to problems with symlinks in the chromeos build. 

BUG=112887, chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122300 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 30159da655 Revert r121986 "If both -f and -D are specified when updating, remove all untracked directories"
Caused issues with chromium.chromiumos bots.

TBR=steveblock@chromium.org
BUG=112887

TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122098 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 2a75fdb0fc [depot_tools] Use git fetch to optimize the properly configured that use git-svn
in the way <http://code.google.com/p/chromium/wiki/UsingNewGit#Initial_checkout>
describes.

R=maruel@chromium.org
TEST=gclient sync with safesync_url is faster.
BUG=109184


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121988 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
steveblock@chromium.org 93567043f9 If both -f and -D are specified when updating, remove all untracked directories
This is required to avoid the need to clobber the bots when moving a directory
to deps/. Currently, the directory in question is likely to remain in the
working copy, despite having been removed, due to the presence of untracked
files. This causes the checkout from deps/ to fail.

With this change, when both --force and --delete_unversioned_trees are
specified, the the directory in question will be removed from the working copy,
thereby allowing the copy in deps/ to be checked out correctly.

Note that untracked directories which are explicitly ignored (ie in .gitignore
or svn:ignore) will not be removed.

BUG=112887,chromium-os:20759

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121986 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 71e12a9e41 Update upload.py @ fae51921ad9d
This version of upload.py is slightly less annoying, it won't cancel out if no
patchset title is provided and disable colors all the time.

R=cmp@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121826 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 78c4b98fc3 Download hooks only in "git cl config"
also, use http download instead of scp,
because scp won't work well on Windows.

BUG=chromium:113153
Review URL: https://chromiumcodereview.appspot.com/9369023

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121820 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
evan@chromium.org 0af9b70a02 git-cl: split GetRietveldServer from GetIssue
Should be no functional change.
Necessary for a follow-up change I'm making.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121590 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
evan@chromium.org 5b5d043a5a git_cl: drop migration code
Everyone at this point should have been migrated to the new format.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@121509 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org 19bbfa2db2 Fix receive-pack
If we quote as --receive-pack="git receive-pack --reviewer=foo@example.com",
git will try to run "git receive-pack --reviewer=foo@example.com" command
and failed like this

Gerrit Code Review: git receive-pack --reviewer=foo@example.com: not found
fatal: The remote end hung up unexpectedly
Command "git push --receive-pack="git receive-pack --reviewer=foo@example.com" origin HEAD:refs/for/master" failed.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@120337 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
ukai@chromium.org e807781320 Add minimal Gerrit support to 'git cl config' and 'git cl upload'
This is the bare beginnings of Gerrit support for (non-repo) depot_tools,
based on Roland's work.
Differnt from http://codereview.chromium.org/8826015/
 it read codereview.settings and if it has GERRTI_HOST and GERRIT_PORT,
 then "git cl config" configured it for gerrit.
   installs hooks/commit-msg
   git config gerrit.host $GERRIT_HOST
   git config gerrit.port $GERRIT_PORT

 if it has gerrit.host config, "git cl upload" will upload a change
 to gerrit as
   "git push --receive-pack=... origin master"
 it scans description and extract reviewers from R= line.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@120276 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
estade@chromium.org ae7af92aba Add CSS as a source file type.
this forces license headers, no line-end whitespace, etc.

Also update the default license header regex to allow concluding */ on the final line.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@119448 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
jam@chromium.org 3108364f7c Revert 119066 until we have consensus.
TBR=ben
Review URL: https://chromiumcodereview.appspot.com/9298002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@119353 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 2b40b89ae1 Update upload.py @827fa087f74d, which includes support for svn 1.7
It also removes the need of manually creating a subject argument.

Other related changes in this CL:
- Reenable the prompt for patchset title in gcl. I'm not sure why it was disabled.
- Remove git cl upload --desc_from_logs flag. --force is already meaningful.

R=cmp@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@119066 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 01da4f8531 Stop synching depot_tools on each git-cl invocation in git-cl tests
It speeds up significantly these tests.

R=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@118912 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 2e72bb1c2d Overhaul breakpad to optionally disable output. Add git-cl dcommit unit test.
This required fixing the adhoc mock to be more versatile.

TBR=cmp@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117896 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org eb5edbcfde Add UpgradeToHttps() to reliably and forcibly upgrade all urls to https.
Enable it for git-cl and gcl.

R=nsylvain@chromium.org
BUG=107838
TEST=New connections go through https://


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117857 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 99ac1c5808 Dedupe codereview.settings parsing code. Add more testing.
So any modification to the defaults is coded at only one place.

TBR=nsylvain@chromium.org
BUG=107838
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117853 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org db1fd78fcb Fix for single line file modification
When a file contains a single line of text, svn diff will generate an odd hunk
header. Modify the hunk parsing code to accept this format.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117143 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 9799a079c5 Accept svn:mime-type as a valid svn property.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117133 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org cf602553bc Fix svn delete handling (again).
Fix RAW.NEW_NOT_NULL parsing to detect correctly it's a new file.

Add proper Hunk parsing to fix these 2 bugs.

R=dpranke@chromium.org
BUG=109715
TEST=CQ'ing a patch generated with svn that delete files is applied properly, e.g. the file is deleted and not simple 0-length.


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117084 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 0e023174cf Fix variable aliasing. Fixes pylint W0623.
I'm not sure why it hasn't triggered before.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117054 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 18878421ec Make sure that direct call to SendStack() doesn't send a stack trace for non googler
I don't want to receive them even in the case of a direct call to SendStack().

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117039 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org 051c88b9c0 [depot_tools] Disabling new git checkouts with safesync_urls until fixed.
R=maruel@chromium.org
TEST=gclient sync a freshly configured client.
BUG=106015


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115452 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d79d41954e Fix gcl path handling to be more consistent.
gcl change will look for unmodified files from the current directory and below
only.
Add shell out are cwd=checkout's root.
Fix try/finally handlers.
Remove extraneous os.chdir() calls since cwd is now correctly set.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115027 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
dbeam@chromium.org e5d1e61dc3 [depot_tools] Adding safesync_url for git and git-svn checkouts.
R=maruel@chromium.org
TEST=Configure a checkout using the NewGitWorkflow with a safesync_url and everything works (though possibly with a really long git svn fetch time).
BUG=106015

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@115011 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d579fcf951 Enforces using cwd in all svn calls.
That helps weed out some issues faces with svn plus helped me figure out some
misuses.

Most of the commands have been implicitly depending on os.getcwd(). This change
makes it always consistent and clear when dependence on the current directory is
needed.

Remove default arguments to scm.SVN.GenerateDiff and a few other calls to be
sure the refactoring was done right.

R=dpranke@chromium.org
BUG=
TEST=make sure most commands aren't broke


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@114262 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 740a6c0bd5 Using lists is faster than cStringIO.
Clean up stdin management.
Remove stale comments.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@113065 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org bc3a53cb7b Improve subprocess2 stdin tests.
No significant code change.

R=dpranke@chromium.org
TEST=
BUG=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@113062 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 94c712fa1b Reimplement r109239 but using Popen.communicate() instead.
Enables threaded callback handler for subprocess.communicate().

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112465 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org a8e8163a06 Add Popen.shell, add more subprocess2 tests and make it more compact.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112351 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 14e37ad7ad Silence pylint on Mac OSX 10.6
Also, increase the wait for socket binding to 0.2 seconds because OSX10.6 is
broken _and_ slow.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112277 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org a335365daa Make --send-mail more useful by not requiring -r
Previously, --send-mail required -r to pass. Now it uses the R=|TBR= lines from
the description, which is much more useful.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112221 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org ddd59417c0 Fix case where TBR=foo would remove the -r flag in git-cl
Add unit test!

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112220 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org db59bfc139 Improve testing by comparing behavior of subprocess to subprocess2
This makes sure no regression relative to subprocess is introduced in
subprocess2.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112217 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dd9837f9d9 Add Popen.start property.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@112102 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 7bb06bbaa8 Move auto_stub.py from commit-queue
Use it in subprocess2 and trial_dir to remove manually bookeeping.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111941 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 93e2137df5 Add more subprocess2 tests with stderr=subproces2.STDOUT.
No code change beside tests. This is mainly a regression test to make sure I
don't regress that code path.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111535 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@google.com ef77f9e63a Make subprocess2.Popen a class instead of a function.
This will be necessary to override member functions eventually. It also better
replicates what subprocess.Popen is.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@111530 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
igorgatis@gmail.com 4e07567f52 Introduced git+http(s) fake URL schema to support git urls which don't have "filename.git" portion (http://foo/bar vs http://foo/bar/filename.git).
Review URL: http://codereview.chromium.org/8590024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@110937 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4942e4a587 Add most of testing improvements without the tee-specific tests
Change return value from list to tuple for communicate(timeout != None).

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@110094 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 840af3d7df Delete tests/__init__.py. It should have been deleted in r109636 but the CQ failed.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109697 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 4005225a36 Fix deleted empty files.
Add relevant new tests.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109692 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 0927b7eef8 Create a new testing_support module to move utility modules there
It will simplify importing utility modules from other projects. Otherwise I was getting name conflicts with 'test'.

Reenable W0403 that was disabled in the previous CL.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 428342a0a7 Standardize the sys.path fix up and fix a few pylint warnings.
Disable temporarily W0403, will be reenabled on the next CL

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109435 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 7eda862b1f Revert r109283, r109282 and r109239.
"Add callback support for stdout and stderr."
"Add tests for both universal_newlines=True and False."
"Implement accelerated tee support for POSIX."

The reason is that the semantic of
subprocess2.check_call(cmd, timeout=60, stderr=subprocess2.STDOUT) changed,
stderr wasn't redirected to VOID anymore and for an unknown reason, it was
hanging until the timeout happened. Will reapply r109239 with a new regression
test to detect that bug.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109369 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org fefff18b55 Implement accelerated tee support for POSIX.
This removes all the need of threading, which removes the contention on the GIL
lock.

Taking S2Test.test_check_output_tee_large as baseline, numbers are
real/user/sys in seconds:
Ubuntu workstation: ~25x  2.4/1.9/1.5 -> 0.10/0.70/0.02
OSX 10.6 laptop:    ~40x  6.4/5.3/3.9 -> 0.15/0.80/0.07
Cygwin on win7:      ~4x  2.8/2.2/1.3 -> 0.60/0.16/0.30

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109283 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f2dca4e174 Add tests for both universal_newlines=True and False.
Fix stdout+stderr on Windows to binary mode in the child test process to make
sure testing is done correctly.

R=dpranke@chromium.org
BUG=
TEST=manually tested on OSX, Windows, cygwin and ubuntu


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109282 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 65be6f6bcf Add callback support for stdout and stderr.
It's currently an inefficient thread implementation. Interestingly
enough, callback support is significantly faster on cygwin than on
native python.

Writing an efficient implementation is punted for a later change,
one per implementation.

Stops using a temporary file since it's not necessary anymore.

The goal is to reduce the number of places where a similar paradigm
is used by having a canonical generic implementation.

R=dpranke@chromium.org
BUG=
TEST=Tested manually on Windows, cygwin, linux, OSX 10.6


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109239 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 7ccb4bb83e Blacklist .diff and .patch files
Otherwise, silly checks like EOL whitespace triggers constantly.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@108899 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8b322b3cb7 Handle cases where '.' show up in svn status and is deleted
This would cause random try job failures, especially when switching around
DEPS <-> svn directory conversion.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@108144 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 85da74b671 Temporarily disable CheckRietveldTryJobExecution() while the Rietveld API is being upgraded
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@107590 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 0e0436a662 Move code starting the editor into a common function.
Windows users wouldn't get the same behavior on git cl vs gcl.
Improve automatic CRLF<->LF conversion, some gcl users would be \n repeated in
their description depending on the editor used.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@107106 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 37ca0b1cdd Fix tests on Windows
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106866 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 042f0e73de Improve the sys.stdout proxy to be more transparent.
Otherwise isatty() could not be proxied correctly.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106864 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6c48a304d4 Fix a concurrency issue happening with deep dependencies when the intermediary
directory doesn't exist, on fresh checkout and --jobs >1.

It happens in the case where there is 3 dependencies:
a
a/b/c/d
a/b/c/e

'a' is processed first. Then 'a/b/c/d' and 'a/b/c/e' are fired simultaneously.
If both are not present, both svn checkout tries to mkdir b and b/c and a race
condition occurs between their call for isdir() and mkdir().

This works around the issue by creating the intermediary directories ourself
before calling out svn and managing the error ourself.

TBR=dpranke@chromium.org
BUG=
TEST=fresh checkout shouldn't be flaky


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106636 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 97335088c6 Revert r106358 "Get rid of RunShell*() functions in gcl.py to finish the conversion to subprocess2"
This eats stdout while gcl is committing, which is annoying. It needs tee-like
support first. Will revisit this change later, reverting in the meantime.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106498 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org db0ee6f1e4 Get rid of RunShell*() functions in gcl.py to finish the conversion to subprocess2
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@106358 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org b9be065ac1 Do not sort solutions anymore, only dependencies specified in DEPS files.
Otherwise it breaks naked --revision usage. One example issue is linux_chromeos
applying the revision to cros_deps instead of src.

TBR=dpranke@chromium.org
BUG=100335
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105522 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 69392e7ca7 Prepare to make --revision <number> to be an error when multiple solutions are present.
It will help catch issues like the one we are getting on linux_chromeos where
the ordering of the solution is now by name, causing the default solution to be
used for --revision being the wrong one.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105387 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org a2862ded8e Enforce --jobs 1 for all the calls in testRevertAndStatus.
Note that status() and revert() need to be correctly implemented before finishing this test.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105369 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 5fe6d3cf6a Stabilize testRevetAndStatus gclient smoke test.
gclient status using --job 8 by default may return the items in a different
other. Simplify the test by forcing ordering.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105338 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
rcui@google.com 13595ffa41 Add repo-managed checkout support to trychange.py
BUG=chromium-os:21286
TEST=Ran 'git-try' with/without --root=src, and with/without .gclient file

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105229 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c0cc0871b4 Make revert more resilient to partial sync failure.
Improve revert to skip over non managed directory and to clobber invalid
checkouts.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105103 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 36ac239bd3 Reapply r104938 "Make svn update not prompt during a sync."
It wasn't broken. The tree collapsed around the same time for unrelated reason.

TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@105090 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org edb6ea6ea5 Revert r104938 "Make svn update not prompt during a sync."
I'm not sure if it's causing the tree blow up but I'm not taking any chance.

TBR=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104956 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 94aa50fce3 Make svn update not prompt during a sync.
Otherwise it may hangs in various ways.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104938 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 470b543fcf Stop modifiying requirements out of thread and generate it instead.
This fixes GClientSmokeBoth.testMultiSolutionsJobs flakiness by having
consistent ordering.

Now no out of thread modification is ever done, which result in much saner code.

R=dpranke@chromium.org
BUG=60725
TEST=tested manually with gclient sync --jobs 100 on chrome and with
gclient_smotetest.py


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104920 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 3223edd588 Have the DEPS only parsed in the relevant thread.
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
14 years ago
maruel@chromium.org 0bcfd18035 Move all mutations into a specific place.
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
14 years ago
maruel@chromium.org e085d81a36 Add assert to make sure the files argument type is valid.
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
14 years ago
szager@google.com 85d3e3adbc Restore 103787 (fix git progress message), and update test expectations.
Review URL: http://codereview.chromium.org/8161009

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@104504 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
asvitkine@chromium.org d32fab24a6 Fix git --upstream_branch breakage due to removal of |file_list| param.
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
14 years ago
maruel@chromium.org 1333cb3edb Improve logging and ease debugging.
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
14 years ago
maruel@chromium.org ed102570d6 Add a unit test to breakpad.
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
14 years ago
maruel@chromium.org 5e975633a8 Fix handling of file renames.
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
14 years ago
maruel@chromium.org b1d1a78c8d Add post_processors override to apply_patch() and add more testing.
Move ReadOnlyCheckout tests into its own fixture.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103272 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ce69514a5d Share more data between checkout_test and patches_data.
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
14 years ago
asvitkine@chromium.org 1516995e79 Support for |change| argument to |GetPreferredTrySlaves()|, try 2.
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
14 years ago
maruel@chromium.org ebf1f997f5 Disable --jobs 1000 tests since it's not stable yet.
TBR=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102923 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
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 4bdd5fd5ae Move dependencies to a (to be) locked property.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102777 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c73e516e12 Add my_reviews.py script for perf time.
Add search interface for rietveld.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@102191 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
cmp@chromium.org eb2756dfc4 Add a --unmanaged flag to gclient config to allow the main solution to be unmanaged by the scm.
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
14 years ago
maruel@chromium.org 6ca8bf80b4 Retry "Initial step into making Dependency thread safe""
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
14 years ago
maruel@chromium.org 3c74bc9df5 Fix member lookup to be more stable.
Add regression test.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101351 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 485dcab61e Fix the case where a dep not processed could be set as a requirement.
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
14 years ago
maruel@chromium.org 87e6d33103 Update subprocess2.check_output() to behave like subprocess.check_output().
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
14 years ago
maruel@chromium.org 087066c553 Make the rietveld client code ignore file status more often.
It's proved to be unreliable.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100236 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org e2335ae8fe Fix support when 2 properties are modified.
Add regression test.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100209 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 75547c3f98 Fix rietveld when status is only one char
Update unit test accordingly.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100207 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 77f47793de Make rietveld_test.py use patches_data.py
Also verify source_filename properly.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100205 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org fd19a3032f Move sample patches to its own file so it can be reused by rietveld_test.py
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100201 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c73a5303dd Move fail tests into a separate class.
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
14 years ago
maruel@chromium.org 8baaea7b83 Add automatic is_new=True on git copy or rename.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100140 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org a19047cdf4 Add support forcopied and renamed files.
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100138 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 98023dfb35 Urls with /@ won't be processed correctly when used as a requirements.
This is important for parallel checkout.

R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99981 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org ed6ce00382 Centralize testing to make it simpler to test when rename are supported correctly
R=dpranke@chromium.org
BUG=
TEST=


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99980 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6cdac9ef45 Make rietveld status handling saner
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
14 years ago
maruel@chromium.org 2f4a0fa92a Improve rietveld tests.
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
14 years ago
maruel@chromium.org be60565b8a Improve is_delete detection.
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
14 years ago
maruel@chromium.org d52417c909 Do not run integration tests on upload, they are too slow.
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
14 years ago
maruel@chromium.org 118fb1cdcb Fix parallelization of multiple solutions once for all.
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
14 years ago
maruel@chromium.org 031524151a Implement reverse mangling of svn properties.
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
14 years ago
maruel@chromium.org f40e2a5627 Add regression test for the parallel jobs dependency issue.
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
14 years ago
maruel@chromium.org 943b12735f Improve search algorithm for GAE SDK in depot_tools integration tests.
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
14 years ago
maruel@chromium.org 6b5eae2d19 Make GAE instance bind all interfaces when a variable is set.
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
14 years ago
bauerb@chromium.org 4dd093752e Add merge attribute to OptionsObject in gclient_scm_test.py.
BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@93628 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 a5129fb808 Fix Checkout.post_processsors setup. __init__() was ignoring the argument!
TEST=Rewrote the unit test to catch that case.

R=dpranke@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@89700 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org eba646225d Improve CheckLongLines() to increase the hard limit at 50% when an exception is found.
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
14 years ago
maruel@chromium.org e424b220ae Make TrialDirMixIn so it can be used stand alone.
This will be used in commit queue tests.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88986 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 69eaecb312 Use tuple everywhere with explicit conversion.
TEST=Add PanProjectChecks unittest, there was none.

R=dpranke@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88982 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 51919774d5 Make prepare() accept a revision argument.
R=dpranke@chromium.org
TEST=few
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88779 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6ed8b50be6 Make post_processors part of the Checkout object state.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@88777 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 58fe662dc7 Add support for empty files, __init__.py is a common example.
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
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 97366bef6c Increase coverage to 91%; Much stricter about header parsing.
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
14 years ago
maruel@chromium.org b6ffdaf3c0 Add support for executables in git-svn patches applied on svn.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87827 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org e4067ab7a2 Switch CheckOwners to use input_api.rietveld.
This enables private issue checking and simplifies testing.

R=dpranke@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87743 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
nsylvain@google.com efc8093168 Add a --deps-file flag to gclient to allow using a deps file other than DEPS.
TEST=covered by gclient_smoketest.py
Review URL: http://codereview.chromium.org/7062029

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87367 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 9842a0c754 Add support for auto-props in the form: "*.sh = svn:eol-style=LF;svn:executable"
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
14 years ago
maruel@chromium.org 80941c21e4 Use m['approval'] instead of looking at the text for 'lgtm'.
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
14 years ago
bradnelson@google.com 9f90f807ad Fixing unit tests to match --project changes.
BUG=79546
TEST=None
R=maruel@google.com
Review URL: http://codereview.chromium.org/7062012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@86837 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
maruel@chromium.org 1bf5097abc Enforce unicode commit message.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@84289 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
phajdan.jr@chromium.org 6e043f755b Remove unmaintained "gclient export" command,
introduced in http://src.chromium.org/viewvc/chrome?view=rev&revision=20990

It was intended for the tarball generation script,
but there was a better and simpler way.

BUG=80549
Review URL: http://codereview.chromium.org/6883263

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@83708 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
floitsch@google.com eaab784bcf Add --transitive flag.
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
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 0bcd1d3430 Make subprocess2.check_call() compliant with subprocess.check_call().
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
14 years ago
nick@chromium.org e06cb4e55d Optimize presubmit checks for win32 where determining the diff
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
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82607
Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=82653
Review URL: http://codereview.chromium.org/6883050

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82762 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 7b45069a28 :Revert r82607 (reportedly takes forever on long changes)
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82653 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org 9c765d7aa1 Optimize presubmit checks for win32 where determining the diff
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
14 years ago
maruel@chromium.org 8a1396cd72 Add post_process argument to Checkout.apply_patch().
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
14 years ago
nick@chromium.org cfbdd987b6 Revert 82559.
Review URL: http://codereview.chromium.org/6896004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82568 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
nick@chromium.org baa40e63f9 Optimize presubmit checks for win32 where determining the diff
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
14 years ago
maruel@chromium.org dfaecd2bd4 Move commit-queue/checkout into depot_tools so it can be reused by the try server.
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82414 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c4b5e76d7e Improve patch handling and tests.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82406 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 1f063db16a Make subprocess2.call() returned values to be the same as subprocess.call().
Renamed the previous subprocess2.call() to subprocess2.communicate().

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81976 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 6493ed1980 Fix rietveld_url parameter, remove default argument and realign code.
TBR=dpranke@chromium.org
BUG=
TEST=

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81579 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 61e0b691d6 Add script to apply a patch from rietveld.
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
14 years ago
maruel@chromium.org 4a982271a7 Defaults stdin to VOID for capture and check_output()
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
14 years ago
maruel@chromium.org 6c7723e796 Add --verbose flag when input_api.verbose is set.
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
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 cd6194027f Add support to put a patchset into a subdirectory.
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
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 ade9c5953d Fix case where wc_info is not present.
Reapply r80770 "Switch from xml.dom.minidom to xml.etree".

TBR=dpranke@chromium.org
BUG=
TEST=

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80785 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 1d9f62946b Set returncode to subprocess2.TIMED_OUT instead of -9 when a process times out.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80775 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org d25fb8f68b Revert r80770 "Switch from xml.dom.minidom to xml.etree"
Throws exceptions on mac.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80771 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 949d1a6a9e Switch from xml.dom.minidom to xml.etree
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
14 years ago
maruel@chromium.org c98c0c5249 Make more tests pass on Windows.
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
14 years ago
maruel@chromium.org 0e766050d2 Use check_call() instead of Popen() for canned checks.
This removes a significant amount of code.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80616 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org f08b09c2af Fix automatic shell detection, the check was reversed
Improved tests and added regression test.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80614 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org eba4022de8 Add subprocess2 unit tests
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80454 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org b3727a36e4 Move patch.py and rietveld.py from commit-queue.
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
14 years ago
maruel@chromium.org 31cb48a436 First pass to transition away for gclient_utils.Error and gclient_utils.CheckedCallError.
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
14 years ago
maruel@chromium.org 58ef297bc5 Revert r80216 "Reapply r79779: "Removed gclient_utils.Popen() and use subprocess2's ...""
Horked windows slaves this time.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80220 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 93ef410768 Reapply r79779: "Removed gclient_utils.Popen() and use subprocess2's version instead."
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
14 years ago
maruel@chromium.org 421982fe08 Update docstrings and add VOID support
And update local_rietveld to use it.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80179 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org fb3d3245ad Add subprocess.Popen().kill() to python 2.5.
Move code in tests/fake_repos.py to subprocess2.py.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80152 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 45d8db04f9 Add more python 2.5 compatibility.
Makes all the tests runnable on python 2.5.

R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80068 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 e6a4ab30db merge in fixes for python 2.5
R=maruel@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79942 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 5a376ed328 Revert r79779: "Removed gclient_utils.Popen() and use subprocess2's version instead."
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79781 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 242549409f Removed gclient_utils.Popen() and use subprocess2's version instead.
R=dpranke@chromium.org
BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79779 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 2a74d37e28 Move git_cl back into depot_tools.
Remove git_cl_hooks.py since it's now unnecessary.

BUG=
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@79715 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 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
maruel@chromium.org 4c6f18ca9e Silence pylint warnings.
TBR=dpranke
BUG=
TEST=

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

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