Previous attempts inside the buildbot config missed some places.
This just does it directly in gclient.
Review carefully, this is a depot_tools change.
BUG=None
TEST=None
R=maruel@chromium.org,dschuff@chromium.org
Review URL: http://codereview.chromium.org/10116033
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132997 0039d316-1c4b-4281-b951-d872f2087c98
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
Shell through to the .bat to make sure the environment is correctly set up. Not sure if there's a better uname to check?
Review URL: https://chromiumcodereview.appspot.com/10024045
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132252 0039d316-1c4b-4281-b951-d872f2087c98
In Windows (already worked correctly in posix): gclient wouldn't correctly update depot_tools when called.
Refactored away the bootstrap depot_tools update flow which only still existed in Windows.
Patch contributed by gab@chromium.orgR=maruel@chromium.org
BUG=
TEST=Running `gclient sync` from src/ and see depot_tools being correctly updated under a git depot_tools checkout.
Review URL: https://chromiumcodereview.appspot.com/9751009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@132191 0039d316-1c4b-4281-b951-d872f2087c98
Fixes regression in includes filtering for ninja-deplist-helper.
TBR=maruel
Review URL: https://chromiumcodereview.appspot.com/9982010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@130677 0039d316-1c4b-4281-b951-d872f2087c98
git-gs wasn't finding matches in the chromiumos-overlays
repo as most of the files there are .ebuild. This fixes that.
BUG=None
TEST='git gs KEYWORDS' now returns matches
Review URL: http://codereview.chromium.org/9861001
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@130397 0039d316-1c4b-4281-b951-d872f2087c98
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
The original design of this had some issues:
1) forced targets to be importable via 'buildbot.cbuildbot', rather
than the proper/full 'chromite.buildbot.cbuildbot'. Scripts worked
around this, but it's an unwanted limitation.
2) That importation requirement means that within the chroot, we've
had to export cros_sdk *and* cros_sdk.py in the PATH. This is
undesirable clutter, and introduces potential errors as scripts
localize themselves to cros_sdk.py rather than invoking cros_sdk
(the consumers should be agnostic to the language the tool is
written in).
3) chromite_wrapper enforced assumptions about python namespace w/in
the targets- specifically that 'main' must always be invokable
without any arguments. This limits refactoring/cleanup in chromite
via having to support ancient API assumptions (api's that weren't
public); modern chromite has repurposed main changing the prototype,
and using it's own wrapper doing signal handler setup, and general
framework behaviour. Longer term, that 'main' functor is unlikely
to even exist. The strong coupling chromite_wrapper forced limits
are refactoring possibilities.
4) In modern chromite, all user consumable tools are now required to
exist w/in chromite/bin/, and be executable and invokable. This is
what we want going forward.
5) Implied we want chromite_wrapper used w/in the chroot; we don't,
thus drop all CROS_WORKON_SRCROOT awareness.
6) Exposed a chromite_wrapper invokable (that didn't work) into the
PATH outside the chroot; this is resolved via moving it into a
support directory and repointing symlinks to it.
At this point, if it's working with a modern chromite checkout the
script is a simple execv pass thru. If it isn't, then it will fallback
to the old import trickery.
This has been tested against R16, R17, R18, ToT, 0.11.241.B, factory-*,
basically all branches w/in chromite without issue.
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@128555 0039d316-1c4b-4281-b951-d872f2087c98
It was gutted from ToT, and was broke for a fairly long time
prior to that- nothing uses it in this fashion.
BUG=None
TEST=N/a
Review URL: http://codereview.chromium.org/9743004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@128076 0039d316-1c4b-4281-b951-d872f2087c98
This will make it easier to support git-submodule and gclient at
the same time.
Review URL: http://codereview.chromium.org/9692022
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@126428 0039d316-1c4b-4281-b951-d872f2087c98
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
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
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
This permits running git grep over the dependencies. With --ignore, gclient
recurse continues even if nothing is found in a dependency. Without this flag,
git grep returns 1 when nothing is found, causing gclient to stop processing the
remaining dependencies.
TBR=nsylvain@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9600010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124914 0039d316-1c4b-4281-b951-d872f2087c98
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
The fetch command is simply an alias for:
gclient recurse -s git git fetch origin
Rework 'recurse' command to use a WorkQueue so that --jobs is supported.
BUG=115840
TEST=
Review URL: http://codereview.chromium.org/9463044
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124334 0039d316-1c4b-4281-b951-d872f2087c98
- Support quiet option on ninja-deplist-helper.
- Add "overprint" mode to ninja when attached to a console.
- Fix slash handling in creating output directories.
- Merge response file support from master branch
Review URL: https://chromiumcodereview.appspot.com/9539015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124266 0039d316-1c4b-4281-b951-d872f2087c98
r123775 contained copy-paste left-over that caused the code to throw a NameError
instead of a HTTPError.
R=petermayo@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9536014
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@124184 0039d316-1c4b-4281-b951-d872f2087c98
Occasionally, AppEngine throws HTTP 500. In practice it's not a big deal but
upload.py converts them into sys.exit() call which is problematic. This breaks
the commit queue since this behaviors forces the CQ to quit.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9480005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123775 0039d316-1c4b-4281-b951-d872f2087c98
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
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
An example use case is github over ssh at a pinned revision.
R=petermayo@chromium.org
BUG=115202
TEST=
Review URL: http://codereview.chromium.org/9443025
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@123325 0039d316-1c4b-4281-b951-d872f2087c98
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
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
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
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