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
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
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
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
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
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
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
Unittest is being also updated.
TEST=manual
. run ./presubmit_unittest.py, observe success
.create a CL with code style violations (long lines, traling spaces) and observe the violations reported by 'git cl presubmit'
Patch contributed by Vadim
Review URL: http://codereview.chromium.org/6461011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74378 0039d316-1c4b-4281-b951-d872f2087c98
It would fail otherwise when called directly from a git checkout subdirectory.
Updated unit test.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6459010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@74281 0039d316-1c4b-4281-b951-d872f2087c98
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
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
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
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
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
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
FakeRepos is useful for offline SCM tests but it was hardcoded for depot_tools
requirements. Luckily, it was already modular enought that it merely required to
shuffle code around to split it in two classes to be able to reuse the code
as-is.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6029004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@69845 0039d316-1c4b-4281-b951-d872f2087c98
Change RunPylint to parse all .py files when one is modified.
Make all depot_tools/tests pass on pylint. That mostly meant fixing some
builtins aliasing, wrong alignment and turning off most remaining warnings.
BUG=none
TEST=unit tests
Review URL: http://codereview.chromium.org/5695007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@69159 0039d316-1c4b-4281-b951-d872f2087c98
Adding it as I figured out how to make it run correctly on ubuntu 10.4 and it's
used in enough places it warrants a canned check.
BUG=none
TEST=it self tests itself.
Review URL: http://codereview.chromium.org/5682011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@69051 0039d316-1c4b-4281-b951-d872f2087c98
Python standard library is not thread safe. Work around it by leaking a bit.
The problem is particularly visible on python 2.4.
TEST=none
BUG=60623
Review URL: http://codereview.chromium.org/4465001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@65048 0039d316-1c4b-4281-b951-d872f2087c98
Most of them are style issues or variable aliasing.
TEST=Can almost enable pylint warnings
BUG=none
Review URL: http://codereview.chromium.org/4360002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64908 0039d316-1c4b-4281-b951-d872f2087c98
This is especially annoying on empty __init__.py files.
TEST=new unit test
BUG=none
Review URL: http://codereview.chromium.org/4310001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64904 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise files containing these characters can be created on the file system,
making it harder to get rid of those files.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/4127014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64782 0039d316-1c4b-4281-b951-d872f2087c98
Upload hook are only run with the --upload flag.
Most of the time the same hook is run in both case so gcl presubmit is simply 2x
slower than it could be otherwise.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/4277003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64779 0039d316-1c4b-4281-b951-d872f2087c98
This makes gcl to use a specific rietveld instance per change list. This is
useful when moving from one rietveld instance to another, so in-flight reviews
are sent to the right instance.
Also clear gcl.CODEREVIEW_SETTINGS between gcl_unittest tests to remove tests interference.
TEST=updated unit tests
BUG=none
Review URL: http://codereview.chromium.org/4218006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64631 0039d316-1c4b-4281-b951-d872f2087c98
Previously, solution's properties would be ignored if there was no DEPS file in
source control. Change the behavior to evaluate the properties anyway.
TEST=new smoke test
BUG=none
Review URL: http://codereview.chromium.org/4154004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64232 0039d316-1c4b-4281-b951-d872f2087c98
To make sure to regression is added while looking into the code more deeply.
BUG=none
TEST=new smoke test
Review URL: http://codereview.chromium.org/4215001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64230 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise, git try breaks for some users.
Also, make testUpdateCheckout pass if the path to the temp directory contains a symlink (like on Mac OS X).
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3620011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61786 0039d316-1c4b-4281-b951-d872f2087c98
smarter about finding the most appropriate settings file.
Before this change, I inadvertently did a [gcl try] on a chrome-internal
change (it was a trivial change and not really secret, so no harm done).
After this change, that won't be possible.
Also, change breakpad to not upload the exception that is thrown when
the user fails to provide correct log-on credentials.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3390013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61738 0039d316-1c4b-4281-b951-d872f2087c98
Added a unit test to verify .hg detection.
Also refactor the test a bit to reduce the amount of reduncdant code.
TEST=fixed unit tests
BUG=none
Review URL: http://codereview.chromium.org/3516015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61551 0039d316-1c4b-4281-b951-d872f2087c98
Otherwise the scripts make it looks like they are hung when the presubmit checks
are slow.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3613007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@61506 0039d316-1c4b-4281-b951-d872f2087c98
This makes the code saner to understand.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3420014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@60050 0039d316-1c4b-4281-b951-d872f2087c98
Had to update a few tests, removed redundant code in gclient_scm_tests.
TEST=more readable unit tests
BUG=none
Review URL: http://codereview.chromium.org/3473003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59959 0039d316-1c4b-4281-b951-d872f2087c98
In the next change, we can now remove all the options.stdout bookeeping since
it's not unnecessary.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3398008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59795 0039d316-1c4b-4281-b951-d872f2087c98
The end goal is to remove options.stdout, to remove a lot of bookkeeping.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3418014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59792 0039d316-1c4b-4281-b951-d872f2087c98
For now that involves disabling a lot of tests when they can't be run.
I'm unsure about the ascii encoding, it fails here if I keep this call on a French UI.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3333028
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59137 0039d316-1c4b-4281-b951-d872f2087c98
BUG=54084
TEST=updated smoke test and added a new one + stdout untangling
Review URL: http://codereview.chromium.org/3357020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@59002 0039d316-1c4b-4281-b951-d872f2087c98
Simplify ExecutionQueue.run() by moving code into utility functions.
Reduce the amount of code in WorkerThread.run() to improve reliability.
Don't trap exceptions in single-threaded usage!
BUG=54084
TEST=none
Review URL: http://codereview.chromium.org/3336015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58974 0039d316-1c4b-4281-b951-d872f2087c98
This is needed to improve the git tests further in a later change.
BUG=54084
TEST=none
Review URL: http://codereview.chromium.org/3294017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58934 0039d316-1c4b-4281-b951-d872f2087c98
Added try/except to the places where errors are tolerated.
Renamed scm.SVN.CaptureBaseRevision to CaptureRevision and removed CaptureHeadRevision.
BUG=54084
TEST=none
Review URL: http://codereview.chromium.org/3307016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58932 0039d316-1c4b-4281-b951-d872f2087c98
An automated work around for python lack of stdout flushing.
This design simplifies life once parallel checkout is enabled.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3342024
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58819 0039d316-1c4b-4281-b951-d872f2087c98
Change CheckCallError to inherit from Error. This will simplify try/except changes.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/3324007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@58695 0039d316-1c4b-4281-b951-d872f2087c98
This way the function is much more similar to subprocess.call(). Further changes
will be done, to be able to convert all the function, to be able to parallelize
output without corrupting it.
Used pylint to verify call graph correctness, causing some other unrelated
changes.
TEST=unit tests
BUG=none
Review URL: http://codereview.chromium.org/3117039
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57369 0039d316-1c4b-4281-b951-d872f2087c98
It contradicts the previous changes to enforce codereview.settings.
TEST=new unit test
BUG=none
Review URL: http://codereview.chromium.org/3171026
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57195 0039d316-1c4b-4281-b951-d872f2087c98
It will eventually replace 'print_messages' and be used to annotate printed
lines when using --jobs.
Review URL: http://codereview.chromium.org/3174020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57092 0039d316-1c4b-4281-b951-d872f2087c98
Original Description:
Remove code duplication and improve style.
Create a Popen function to reduce code duplication.
Use RemoveDirectory where relevant.
Make drover slightly more posix friendly.
Review URL: http://codereview.chromium.org/3199011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@57083 0039d316-1c4b-4281-b951-d872f2087c98
Create a Popen function to reduce code duplication.
Use RemoveDirectory where relevant.
Make drover slightly more posix friendly.
Review URL: http://codereview.chromium.org/3126020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56893 0039d316-1c4b-4281-b951-d872f2087c98
gclient_scm_test is really flaky and is a pain to maintain. gclient_scm.py
coverage is good enough with gclient_smokte_test.
TBR=chase
Review URL: http://codereview.chromium.org/3155024
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56351 0039d316-1c4b-4281-b951-d872f2087c98
This is towards cleaning up the mess with 'options' in gclient_scm.py.
Review URL: http://codereview.chromium.org/3106014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@56213 0039d316-1c4b-4281-b951-d872f2087c98
I've never known why there were added in the first place
Review URL: http://codereview.chromium.org/3155008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55896 0039d316-1c4b-4281-b951-d872f2087c98
ExecutionQueue takes care of reordering execution depending on each Dependency
requirements. There is no need to sort anymore.
ExecutionQueue also manages the Progress instance and is multithread safe, in preparation to parallel checkout.
Review URL: http://codereview.chromium.org/3112002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55882 0039d316-1c4b-4281-b951-d872f2087c98
gclient revinfo alone will now not return the actual checked out revisions but simply what's in the .gclient&DEPS.
BUG=none
TEST=add a --snapshot test to make sure it is not broken
Review URL: http://codereview.chromium.org/3130007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55760 0039d316-1c4b-4281-b951-d872f2087c98
It would modify self.parsed_url even when it's called for a From() keyword
Review URL: http://codereview.chromium.org/3171001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55574 0039d316-1c4b-4281-b951-d872f2087c98
BUG=36135
TEST=gclient sync on a svn lock'ed directory will work automatically
Review URL: http://codereview.chromium.org/3028053
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@55438 0039d316-1c4b-4281-b951-d872f2087c98
PageSpeed is an example of such ordering dependency.
TBR=bradnelson
Review URL: http://codereview.chromium.org/2809072
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53377 0039d316-1c4b-4281-b951-d872f2087c98
Bring some OOP and sanity to gclient.py.
- Changed the algorithm from breadth-first to depth-first.
- Added infinite recursion support.
- Fixed From() of From() dependency.
- Fixed cross solution custom deps aliasing.
- Removed support code for old .gclient_entries format.
- Removed IsGitCheckout() in favor for a direct check for .git presence.
TEST=all test pass
The main difference with r51760 is that new smoke tests have been added since which replicates how webkit checkouts with gclient.
Review URL: http://codereview.chromium.org/2917009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53205 0039d316-1c4b-4281-b951-d872f2087c98
This is the same as the last cl, but hopefully with the right svn
server.
Review URL: http://codereview.chromium.org/3023008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@53043 0039d316-1c4b-4281-b951-d872f2087c98
Emulate running gclient from a checkout containing .gclient and a DEPS, with the
solution having an url set to None.
TEST=new smoke test
Review URL: http://codereview.chromium.org/2897010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52119 0039d316-1c4b-4281-b951-d872f2087c98
This is being abused by WebKit.
TEST=new smoke test
Review URL: http://codereview.chromium.org/2923005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52096 0039d316-1c4b-4281-b951-d872f2087c98
This case covers the webkit gclient usage.
TEST=improved smoke test
Review URL: http://codereview.chromium.org/2968005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52092 0039d316-1c4b-4281-b951-d872f2087c98
Add the fix for FileImpl() plus unit tests.
TEST=more tests
Review URL: http://codereview.chromium.org/2808048
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@52005 0039d316-1c4b-4281-b951-d872f2087c98
- Changed the algorithm from breadth-first to depth-first.
- Added infinite recursion support.
- Fixed From() of From() dependency.
- Fixed cross solution custom deps aliasing.
- Removed support code for old .gclient_entries format.
- Removed IsGitCheckout() in favor for a direct check for .git presence.
TEST=all test pass
Review URL: http://codereview.chromium.org/2867047
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51760 0039d316-1c4b-4281-b951-d872f2087c98
TEST=none, no big deal. I'll get a breakpad report otherwise anyway. This is solely to *reduce* the number of breakpad stack trace that this is done.
Review URL: http://codereview.chromium.org/2885020
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51739 0039d316-1c4b-4281-b951-d872f2087c98
Remove SUPPORTED_COMMANDS since it is not necessary, change the formating to not introduce an empty line.
Review URL: http://codereview.chromium.org/2836042
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51640 0039d316-1c4b-4281-b951-d872f2087c98
This allows to recurse in all the entries to operate on them.
Review URL: http://codereview.chromium.org/2862039
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@51419 0039d316-1c4b-4281-b951-d872f2087c98