This is useful to diagnose slow tests. Make this multiprocessing aware. Stop
printing when the commands are added but use the proper message system instead.
R=iannucci@chromium.org
BUG=
Review URL: https://codereview.chromium.org/99453003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@238388 0039d316-1c4b-4281-b951-d872f2087c98
I've unified the checks for language specific exceptions to line length. There is a behavior change where cpp compiler directives no longer have a maximum line length (previously they were restricted to 150% of max line length). This change was made to match the behavior for java files.
BUG=NONE
Review URL: https://codereview.chromium.org/100163002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@238268 0039d316-1c4b-4281-b951-d872f2087c98
Tell download tools/hooks/commit-msg mannually if it looks broken.
chrome-internal-reviews.googlesource.com requires
authentication to access tools/hooks/commit-msg, and
we'll get Google Sign-in page rather than expected shell script.
R=szager@chromium.org,maruel@chromium.org,ilevy@chromium.org
BUG=
Review URL: https://codereview.chromium.org/87173002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237454 0039d316-1c4b-4281-b951-d872f2087c98
Internal teams are relying on git-try as the sole mean to run try jobs so revert
this.
Hopefully most target users (chromium folks) got the message at least once.
R=cmp@chromium.org
BUG=
Review URL: https://codereview.chromium.org/88743003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237361 0039d316-1c4b-4281-b951-d872f2087c98
This is a serious bug, if a version is unpinned, it would become stuck at
whatever a local branch 'master' may point to. This is extremely bad when a
pinned dependency is unpinned on purpose, for example on a canary master. We
reproduced this problem on the chromium.swarm master by setting a custom_vars
swarming_revision to '', which then stopped syncing at the expected
origin/master commit but instead got stuck to what happened to be a local master
branch.
This happens on git dependencies if the main solution is using svn. This doesn't
happen on git checkouts using .DEPS.git due to bug 323233.
The issue looks like:
________ running 'git reset --hard HEAD' in '/path/src/tools/swarming_client'
HEAD is now at 4727bd5 Some commit
Checked out revision d908a546e28d1e9f85f5690cf6c3a080f06ba711
Note that HEAD and what is checked out do not match.
Also reduce the hardcoding of 'origin' by creating a variable named 'remote'.
R=petermayo@chromium.org
BUG=322961
Review URL: https://codereview.chromium.org/85473007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237332 0039d316-1c4b-4281-b951-d872f2087c98
.git can be a file that contains actual git-dir.
crup-runner couldn't handle this case as managed checkout.
Review URL: https://codereview.chromium.org/84543002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@237074 0039d316-1c4b-4281-b951-d872f2087c98
Compatible with any git topology (multiple roots, weird branching/merging, etc.)
I can't get it to be any faster (in python). Suggestions welcome :).
On z600/linux, this takes 5.1s to calculate the initial count for 2e3de954ef0a
(HEAD on src.git at the time of writing). Subsequent lookups take ~0.06s. For
reference, this machine takes 3s to just list the revisions in sorted order
without any additional processing (using rev-list).
All calculations are stored in a git-notes-style ref with the exception that the
leaf 'tree' object which would normally be stored in a git-notes world is
replaced with a packed binary file which consists of records [hash int]. Each
run of this script will create only 1 commit object on this internal ref which
will have as its parents:
* The previous git number commit
* All of the target commits we calculated numbers for.
This ref is then excluded on subsequent invocations of rev-list, which means that
git-number will only ever process commit objects which it hasn't already
calculated a value for. It also prevents you from attempting to number this
special ref :).
This implementation only has a 1-byte fanout which seems to be the best
performance for the repos we're dealing with (i.e. on the order of 500k commit
objects). Bumping this up to a 2-byte fanout became extremely slow (I suspect
the internal caching structures I'm using are not efficient in this mode and
could be improved). Using no fanout is slower than the 1 byte fanout for lookups
by about 30%.
R=agable@chromium.org, stip@chromium.org, szager@chromium.org
BUG=280154,309692,skia:1639
Review URL: https://codereview.chromium.org/26109002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@236035 0039d316-1c4b-4281-b951-d872f2087c98
boto config does the right thing by using the http_proxy env var to set the proxy,
and gsutil removes that var which isn't the behavior we want.
This should allow gsutil to respect the http_proxy env var.
BUG=318478
Review URL: https://codereview.chromium.org/68763013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@235818 0039d316-1c4b-4281-b951-d872f2087c98
Some people just don't want to read chromium-dev@. Wake them up.
R=iannucci@chromium.org
BUG=
Review URL: https://codereview.chromium.org/74273002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@235548 0039d316-1c4b-4281-b951-d872f2087c98
2.7.5 has bug http://bugs.python.org/issue17998 in re package that is affecting
the chromium team so it can't be used. The bug is fixed in 2.7.6.
This update still respects DEPOT_TOOLS_PYTHON_275=0. Since the name doesn't
represent what is being installed, it also respects
DEPOT_TOOLS_PYTHON_27=0.
R=iannucci@chromium.org
BUG=241769
Review URL: https://codereview.chromium.org/73013003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@235384 0039d316-1c4b-4281-b951-d872f2087c98
It may help when the directory is created at high integrity level.
This hypothesis is unconfirmed.
TBR=iannucci@chromium.org
BUG=241769,314257
Review URL: https://codereview.chromium.org/72803002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@235149 0039d316-1c4b-4281-b951-d872f2087c98
This will automatically upgrade python to 2.7.5 unless
set DEPOT_TOOLS_PYTHON_275=0
is used.
R=iannucci@chromium.org
BUG=241769
Review URL: https://codereview.chromium.org/53313002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@235140 0039d316-1c4b-4281-b951-d872f2087c98
ChromiumOS only developers don't always have a Chromium checkout and
a Rietveld cookie file (~/.codereview_upload_cookies) with the auth
keys. This patch proceeds with the activity lookup from other
services such as Gerrit and GoB if there's no Rietveld cookie
present, displaying an error message when this happens.
BUG=chromium:316961
TEST=Remove ~/.codereview_upload_cookies and ran my_activity. ChromeOS activity listed.
Review URL: https://codereview.chromium.org/68763004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@234874 0039d316-1c4b-4281-b951-d872f2087c98
This automatically searches the path for a source root (or takes one from the
command line), and then executes the current platform's GN binary inside that
source tree.
This will allow the user to have a "gn" command on their path, and allow our
scripts to run GN without having to bake-in the logic for finding the correct
platform's GN binary.
Review URL: https://codereview.chromium.org/66013002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@233983 0039d316-1c4b-4281-b951-d872f2087c98
Previously this relied on being able to track branches which didn't have a
remote refspec. Now we add a fake origin for the git-svn test repo, and use
--prefix so that git has a remote to track and the refs are correctly
namespaced.
Should also be backwards compatible with older versions of git.
R=maruel@chromium.org
BUG=
Review URL: https://codereview.chromium.org/61893006
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@233649 0039d316-1c4b-4281-b951-d872f2087c98
This patch adds a new function QueryAllChanges to gerrit_util.py
allowing the caller to iterate the list of changes regardless the
maximum limit of changes per request that the server supports (by
default 500 according to gerrit's documentation).
my_activity.py is ported to use this function instead of urllib2 to
manually make the request. This also adds support for authentication
since gerrit_util.py already supports it, and the internal gerrit
instance is now re-enabled.
Finally, two minor bugs are fixed on the hanlding of returned
results: The DETAILED_ACCOUNTS option is passed to gerrit to request
the email addresses of the referenced users and users without an
email address, such as the "Gerrit Code Review" user on the internal
gerrit, are now supported.
BUG=chromium:311649,chromium:281695
TEST=Manual run "my_activity.py -u USER" for some users.
Review URL: https://codereview.chromium.org/50283002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@233166 0039d316-1c4b-4281-b951-d872f2087c98
This is needed for a further CL to unify TS and CQ using PRESUBMIT.py.
BUG=278554
Review URL: https://codereview.chromium.org/54373011
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@232813 0039d316-1c4b-4281-b951-d872f2087c98
Using "%@" will correctly requote quoted arguments. Tested with repro case.
The fix in r232184 missed the necessary argument quoting.
R=iannucci@chromium.org
BUG=314192
BUG=241769
Review URL: https://codereview.chromium.org/47873010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@232501 0039d316-1c4b-4281-b951-d872f2087c98
Tested to work now with the repro case of bug 313552.
"/c" was interpreted by cygwin's bash as a path and was replaced with c:/. :(
Using //c seems to be passed through properly.
There is probably other escaping problem but this should be good enough at
this stage.
Ref: http://www.mingw.org/wiki/Posix_path_conversionR=iannucci@chromium.org
BUG=241769
BUG=313552
Review URL: https://codereview.chromium.org/50143013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@232184 0039d316-1c4b-4281-b951-d872f2087c98
This fixes license headers.
Interestingly, the pylint workaround at r133705 doesn't seem to be necessary
anymore.
R=stip@chromium.org
BUG=
Review URL: https://codereview.chromium.org/54603003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@232152 0039d316-1c4b-4281-b951-d872f2087c98
This broke git cl patch due to escaping. I tried removing the double quotes but
it didn't work out. Reverting in the meantime to unblock people until I figure
out a permanent way.
BUG=313552,241769
TBR=iannucci
Review URL: https://codereview.chromium.org/50293009
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@232112 0039d316-1c4b-4281-b951-d872f2087c98
Fix the git-* wrapper scripts, PRESUBMIT.py and .gitignore.
The previous python wrapping scripts assumed python_bin\python.exe. This CL
modifies the wrapping scripts to use python.bat. This requires some quoting
magic and explicitly defer to cmd.exe.
This may break some cases where double quotes are used as arguments. We can't do
miracles on Windows.
R=iannucci@chromium.org
BUG=
Review URL: https://codereview.chromium.org/50563008
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@231888 0039d316-1c4b-4281-b951-d872f2087c98
Adds a command line flag --platform to control which platforms the given download occurs on.
Automatically marks downloads executable on non-Windows if the header x-goog-meta-executable is set. Automatically set this flag on upload when the executable bit is set.
BUG=233100
Review URL: https://codereview.chromium.org/42273002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@231387 0039d316-1c4b-4281-b951-d872f2087c98
This helps prevent timeout when checking out large repositories (like blink)
using the git cache_dir.
R=iannucci@chromium.org, maruel@chromium.org
BUG=295119
Review URL: https://codereview.chromium.org/43273005
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@231111 0039d316-1c4b-4281-b951-d872f2087c98
Newer versions of clang-format-diff.py now require a -i flag to
explicitely apply edits, otherwise they just print a diff, which
make "git cl format" a no-op.
This patch fixes the issue by probing the script's help text to
see if the flag is needed. If it is, it is added automatically.
BUG=NONE
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/44263004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@231020 0039d316-1c4b-4281-b951-d872f2087c98
Currently, running "git cl issue 0" in a client prints a confusing error
message if there's no issue assigned. This changes the code so that the issue
number isn't "unset" if it's not currently set.
BUG=
Review URL: https://codereview.chromium.org/32193016
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@230499 0039d316-1c4b-4281-b951-d872f2087c98
sleep() is in time, not sys.
BUG=
R=maruel@chromium.org,szager@chromium.org,cmp@chromium.org
Review URL: https://codereview.chromium.org/34483004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@230108 0039d316-1c4b-4281-b951-d872f2087c98
This prevents jgit from parsing the user's existing ~/.gitconfig,
which can skew test results.
BUG=
Review URL: https://codereview.chromium.org/27752003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@229245 0039d316-1c4b-4281-b951-d872f2087c98
Add retry for all git operations that speak to a remote. This
should smooth out issues with the git/gerrit-on-borg service.
Review URL: https://codereview.chromium.org/26234004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@229219 0039d316-1c4b-4281-b951-d872f2087c98
gob_util.py is a general-purpose library for communicating with the
gerrit-on-borg service.
testing_support/gerrit_test_case.py is a unittest framework for
testing code that interacts with gerrit.
R=vadimsh@chromium.org, cmp@chromium.org
BUG=
Review URL: https://codereview.chromium.org/26399002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@228965 0039d316-1c4b-4281-b951-d872f2087c98
For example, my id is 'kangil.han', but it fails during parsing.
So this patch fixes it.
Review URL: https://codereview.chromium.org/27484002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@228937 0039d316-1c4b-4281-b951-d872f2087c98
This makes exception catching code which compares the code with
numeric values work as expected. pythonis not PHP and 500 != '500'.
BUG=none
Review URL: https://codereview.chromium.org/27260007
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@228788 0039d316-1c4b-4281-b951-d872f2087c98
These are run for a given dependency after it has been synced but before its
DEPS have been synced. This will help to switch Chromium to depend on Skia's
git repository (skia:1638).
Review URL: https://codereview.chromium.org/25322002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@228651 0039d316-1c4b-4281-b951-d872f2087c98