|
|
Created:
7 years, 5 months ago by Vadim Sh. Modified:
7 years, 4 months ago Reviewers:
szager1 CC:
chromium-reviews, Dirk Pranke, cmp-cc_chromium.org, M-A Ruel, iannucci+depot_tools_chromium.org, ilevy-cc_chromium.org Base URL:
https://chromium.googlesource.com/chromium/tools/depot_tools.git@master Visibility:
Public. |
DescriptionAbility to install custom Gerrit version.
Also generate SSH keypair for default account to enable SSH access.
R=szager@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=216009
Patch Set 1 #
Total comments: 19
Patch Set 2 : #
Total comments: 2
Patch Set 3 : #Messages
Total messages: 13 (0 generated)
Hello, please take a look. gerrit-init.sh now can be invoked as: ./gerrit-init.sh ./tmp_gerrit 2.7-rc3 If version is omitted it'll install latest non-rc build (as before).
https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.sh File testing_support/gerrit-init.sh (right): https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:14: if [ -n "$2" ]; then Once we have more than one positional parameter, we probably need to use regular command-line flags: while test $# -ne 0; do case "$1" in -v) version="$2" shift ;; -d) rundir="$2" shift ;; *) rundir="$1" ;; esac shift done if [ -n "$rundir" ]; then rundir=$(mktemp -d) fi https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:59: requested_version = sys.argv[1] requested_version = sys.argv[1] if len(sys.argv) > 1 else None https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:60: Remove blank line. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:63: Remove blank line. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:66: Remove blank line. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:81: found = None The whole rest of the script should be: if requested_version: # Search for and print name/md5 # Print error message if not found else: # Old code for print latest # No more processing after the if clause; you can ditch the superfluous call to sys.exit. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:94: print >> sys.stderr, 'No such Gerrit version: %s' % (version,) print >> sys.stderr, 'No such Gerrit version: %s' % version https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:146: if [ ! -e "${rundir}/key/id_rsa" ]; then Put the key in $rundir/tmp, and don't check whether there is an existing key; we want to be certain that we get a brand-new key every time. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:181: echo " ssh ${username}@localhost -q -p 29418 -i ${rundir}/key/id_rsa gerrit" Don't put '-q' here. If there are ssh errors/warnings, we should surface them.
https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.sh File testing_support/gerrit-init.sh (right): https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:14: if [ -n "$2" ]; then On 2013/07/25 19:53:50, szager1 wrote: > Once we have more than one positional parameter, we probably need to use regular > command-line flags: > > while test $# -ne 0; do > case "$1" in > -v) > version="$2" > shift > ;; > -d) > rundir="$2" > shift > ;; > *) > rundir="$1" > ;; > esac > shift > done > > if [ -n "$rundir" ]; then > rundir=$(mktemp -d) > fi Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:59: requested_version = sys.argv[1] On 2013/07/25 19:53:50, szager1 wrote: > requested_version = sys.argv[1] if len(sys.argv) > 1 else None Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:60: On 2013/07/25 19:53:50, szager1 wrote: > Remove blank line. Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:63: On 2013/07/25 19:53:50, szager1 wrote: > Remove blank line. Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:66: On 2013/07/25 19:53:50, szager1 wrote: > Remove blank line. Done. Is there any particular reason you don't like blank lines? https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:81: found = None On 2013/07/25 19:53:50, szager1 wrote: > The whole rest of the script should be: > > if requested_version: > # Search for and print name/md5 > # Print error message if not found > else: > # Old code for print latest > > # No more processing after the if clause; you can ditch the superfluous call to > sys.exit. Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:94: print >> sys.stderr, 'No such Gerrit version: %s' % (version,) On 2013/07/25 19:53:50, szager1 wrote: > print >> sys.stderr, 'No such Gerrit version: %s' % version Done. https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:146: if [ ! -e "${rundir}/key/id_rsa" ]; then On 2013/07/25 19:53:50, szager1 wrote: > Put the key in $rundir/tmp, and don't check whether there is an existing key; we > want to be certain that we get a brand-new key every time. Do we support rerunning gerrit_init.sh on top of existing installation? (i.e. running 'gerrit_init.sh some_dir' twice)? If so, second run will overwrite private key file, but won't change public key in the DB (since it's INSERT, not UPDATE). It basically breaks SSH access. Also ssh-keygen asks 'Do you want to overwrite?' and it can't be disabled with flag (only with stupid hacks like 'echo y | ssh-keygen'). Why do we what to get brand-new key every time anyway? It's local Gerrit for testing, right? https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:181: echo " ssh ${username}@localhost -q -p 29418 -i ${rundir}/key/id_rsa gerrit" On 2013/07/25 19:53:50, szager1 wrote: > Don't put '-q' here. If there are ssh errors/warnings, we should surface them. Done.
lgtm with nit https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.sh File testing_support/gerrit-init.sh (right): https://codereview.chromium.org/20441002/diff/1/testing_support/gerrit-init.s... testing_support/gerrit-init.sh:66: On 2013/07/25 21:42:32, Vadim Sh. wrote: > On 2013/07/25 19:53:50, szager1 wrote: > > Remove blank line. > > Done. Is there any particular reason you don't like blank lines? The blank lines don't improve the readability of the code, but they make less of the content fit on my screen. https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... File testing_support/gerrit-init.sh (right): https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... testing_support/gerrit-init.sh:147: if [ ! -e "${rundir}/tmp/id_rsa" ]; then Please don't test [ ! -e "${rundir}/tmp/id_rsa" ] here. The code should generate a new ssh key unconditionally.
https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... File testing_support/gerrit-init.sh (right): https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... testing_support/gerrit-init.sh:147: if [ ! -e "${rundir}/tmp/id_rsa" ]; then On 2013/07/25 21:56:17, szager1 wrote: > Please don't test [ ! -e "${rundir}/tmp/id_rsa" ] here. The code should > generate a new ssh key unconditionally. Ok, whatever. Then reruning gerrit-init.sh with same rundir will break SSH access as I said in previous comment.
On 2013/07/25 22:02:54, Vadim Sh. wrote: > https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... > File testing_support/gerrit-init.sh (right): > > https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... > testing_support/gerrit-init.sh:147: if [ ! -e "${rundir}/tmp/id_rsa" ]; then > On 2013/07/25 21:56:17, szager1 wrote: > > Please don't test [ ! -e "${rundir}/tmp/id_rsa" ] here. The code should > > generate a new ssh key unconditionally. > > Ok, whatever. Then reruning gerrit-init.sh with same rundir will break SSH > access as I said in previous comment. Ah, right, sorry, I missed your comment. gerrit-init.sh should not ever be run twice for a single installation. Because this is testing code, and will likely be run in an automated environment (like CQ tests), it's best to ensure a completely clean environment. If someone (interactively) wants to muck about with an existing gerrit instance, they should do it manually.
On 2013/07/25 22:57:37, szager1 wrote: > On 2013/07/25 22:02:54, Vadim Sh. wrote: > > > https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... > > File testing_support/gerrit-init.sh (right): > > > > > https://codereview.chromium.org/20441002/diff/5001/testing_support/gerrit-ini... > > testing_support/gerrit-init.sh:147: if [ ! -e "${rundir}/tmp/id_rsa" ]; then > > On 2013/07/25 21:56:17, szager1 wrote: > > > Please don't test [ ! -e "${rundir}/tmp/id_rsa" ] here. The code should > > > generate a new ssh key unconditionally. > > > > Ok, whatever. Then reruning gerrit-init.sh with same rundir will break SSH > > access as I said in previous comment. > > Ah, right, sorry, I missed your comment. > > gerrit-init.sh should not ever be run twice for a single installation. Because > this is testing code, and will likely be run in an automated environment (like > CQ tests), it's best to ensure a completely clean environment. If someone > (interactively) wants to muck about with an existing gerrit instance, they > should do it manually. Ok, thanks.
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vadimsh@chromium.org/20441002/10001
Presubmit check for 20441002-10001 failed and returned exit status 1. Running presubmit commit checks ... Checking out rietveld... Running save-description-on-failure.sh Running push-basic.sh Running upstream.sh Running submit-from-new-dir.sh Running abandon.sh Running submodule-merge-test.sh Running upload-local-tracking-branch.sh Running hooks.sh Running post-dcommit-hook-test.sh Running upload-stale.sh Running patch.sh Running basic.sh ** Presubmit ERRORS ** push-basic.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/push-basic.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test upstream git repo... Setting up test git repo... TESTING: git-cl upload wants a server TESTING: git-cl status has no issue TESTING: upload succeeds (needs a server running on localhost) TESTING: git-cl status now knows the issue % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 77 0 0 100 77 0 1595 --:--:-- --:--:-- --:--:-- 1638 TESTING: Base URL contains branch name TESTING: git-cl push ok Using 50% similarity for rename/copy detection. Override with --similarity. Loaded authentication cookies from /home/chrome-bot/.codereview_upload_cookies Running presubmit commit checks ... Presubmit checks passed. Description: 'foo-quux\n\nReview URL: http://localhost:8080/5629499534213120' Closing issue (you may be prompted for your codereview password)... TESTING: committed code has proper description TESTING: issue no longer has a branch FAILURE: issue no longer has a branch submit-from-new-dir.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/submit-from-new-dir.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test SVN repo... Setting up test git-svn repo... TESTING: upload succeeds TESTING: git-cl dcommits ok Using 50% similarity for rename/copy detection. Override with --similarity. Loaded authentication cookies from /home/chrome-bot/.codereview_upload_cookies Traceback (most recent call last): File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2274, in <module> sys.exit(main(sys.argv[1:])) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2256, in main return command(parser, argv[1:]) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1781, in CMDdcommit return SendUpstream(parser, args, 'dcommit') File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1619, in SendUpstream change=cl.GetChange(base_branch, author)) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 737, in GetChange description = self.GetDescription() File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 635, in GetDescription self.description = self.RpcServer().get_description(issue).strip() File "/b/commit-queue/workdir/tools/depot_tools/rietveld.py", line 430, in get_description super(CachingRietveld, self).get_description) File "/b/commit-queue/workdir/tools/depot_tools/rietveld.py", line 423, in _lookup function_cache[args] = update(*args) File "/b/commit-queue/workdir/tools/depot_tools/rietveld.py", line 89, in get_description return '\n'.join(self.get('/%d/description' % issue).strip().splitlines()) File "/b/commit-queue/workdir/tools/depot_tools/rietveld.py", line 357, in get return self._send(request_path, **kwargs) File "/b/commit-queue/workdir/tools/depot_tools/rietveld.py", line 383, in _send result = self.rpc_server.Send(request_path, **kwargs) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 446, in Send f = self.opener.open(req) File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1180, in do_open r = h.getresponse(buffering=True) File "/usr/lib/python2.7/httplib.py", line 1030, in getresponse response.begin() File "/usr/lib/python2.7/httplib.py", line 407, in begin version, status, reason = self._read_status() File "/usr/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline() File "/usr/lib/python2.7/socket.py", line 447, in readline data = self._sock.recv(self._rbufsize) socket.error: [Errno 104] Connection reset by peer FAILURE: git-cl dcommits ok abandon.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/abandon.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test SVN repo... Setting up test git-svn repo... TESTING: upload succeeds Traceback (most recent call last): File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2274, in <module> sys.exit(main(sys.argv[1:])) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2256, in main return command(parser, argv[1:]) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1528, in CMDupload ret = RietveldUpload(options, args, cl) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1410, in RietveldUpload issue, patchset = upload.RealMain(upload_args) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 2588, in RealMain response_body = rpc_server.Send("/upload", body, content_type=ctype) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 446, in Send f = self.opener.open(req) File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open raise URLError(err) urllib2.URLError: <urlopen error [Errno 111] Connection refused> FAILURE: upload succeeds upload-local-tracking-branch.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/upload-local-tracking-branch.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test upstream git repo... Setting up test git repo... TESTING: upload succeeds (needs a server running on localhost) Traceback (most recent call last): File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2274, in <module> sys.exit(main(sys.argv[1:])) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2256, in main return command(parser, argv[1:]) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1528, in CMDupload ret = RietveldUpload(options, args, cl) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1410, in RietveldUpload issue, patchset = upload.RealMain(upload_args) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 2588, in RealMain response_body = rpc_server.Send("/upload", body, content_type=ctype) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 446, in Send f = self.opener.open(req) File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open raise URLError(err) urllib2.URLError: <urlopen error [Errno 111] Connection refused> FAILURE: upload succeeds (needs a server running on localhost) upload-stale.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/upload-stale.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test upstream git repo... Setting up test git repo... TESTING: upload succeeds (needs a server running on localhost) Traceback (most recent call last): File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2274, in <module> sys.exit(main(sys.argv[1:])) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 2256, in main return command(parser, argv[1:]) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1528, in CMDupload ret = RietveldUpload(options, args, cl) File "/b/commit-queue/workdir/tools/depot_tools/tests/../git_cl.py", line 1410, in RietveldUpload issue, patchset = upload.RealMain(upload_args) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 2588, in RealMain response_body = rpc_server.Send("/upload", body, content_type=ctype) File "/b/commit-queue/workdir/tools/depot_tools/third_party/upload.py", line 446, in Send f = self.opener.open(req) File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1177, in… (message too large)
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vadimsh@chromium.org/20441002/10001
Presubmit check for 20441002-10001 failed and returned exit status 1. Running presubmit commit checks ... Checking out rietveld... Running save-description-on-failure.sh Running push-basic.sh Running upstream.sh Running submit-from-new-dir.sh Running abandon.sh Running submodule-merge-test.sh Running upload-local-tracking-branch.sh Running hooks.sh Running post-dcommit-hook-test.sh Running upload-stale.sh Running patch.sh Running basic.sh ** Presubmit ERRORS ** tests/checkout_test.py failed ...........E....... ====================================================================== ERROR: testAutoProps (__main__.SvnCheckout) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/checkout_test.py", line 255, in setUp self.enabled = self.FAKE_REPOS.set_up_svn() File "/b/commit-queue/workdir/tools/depot_tools/testing_support/fake_repos.py", line 301, in set_up_svn self.set_up() File "/b/commit-queue/workdir/tools/depot_tools/testing_support/fake_repos.py", line 211, in set_up self.cleanup_dirt() File "/b/commit-queue/workdir/tools/depot_tools/testing_support/fake_repos.py", line 226, in cleanup_dirt if not self.tear_down_svn(): File "/b/commit-queue/workdir/tools/depot_tools/testing_support/fake_repos.py", line 248, in tear_down_svn wait_for_port_to_free(self.host, self.svn_port) File "/b/commit-queue/workdir/tools/depot_tools/testing_support/fake_repos.py", line 161, in wait_for_port_to_free assert False, '%d is still bound' % port AssertionError: 10000 is still bound ---------------------------------------------------------------------- Ran 19 tests in 56.607s FAILED (errors=1) push-basic.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/push-basic.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test upstream git repo... Setting up test git repo... TESTING: git-cl upload wants a server TESTING: git-cl status has no issue TESTING: upload succeeds (needs a server running on localhost) TESTING: git-cl status now knows the issue % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 77 0 0 100 77 0 1558 --:--:-- --:--:-- --:--:-- 1604 TESTING: Base URL contains branch name TESTING: git-cl push ok Using 50% similarity for rename/copy detection. Override with --similarity. Loaded authentication cookies from /home/chrome-bot/.codereview_upload_cookies Running presubmit commit checks ... Presubmit checks passed. Description: 'foo-quux\n\nReview URL: http://localhost:8080/5629499534213120' Closing issue (you may be prompted for your codereview password)... TESTING: committed code has proper description TESTING: issue no longer has a branch FAILURE: issue no longer has a branch basic.sh failed Command /b/commit-queue/workdir/tools/depot_tools/tests/basic.sh returned non-zero exit status 1 in /b/commit-queue/workdir/tools/depot_tools/tests Setting up test SVN repo... Setting up test git-svn repo... TESTING: git-cl upload wants a server TESTING: git-cl status has no issue TESTING: upload succeeds (needs a server running on localhost) TESTING: git-cl status now knows the issue % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 77 0 0 100 77 0 1944 --:--:-- --:--:-- --:--:-- 2026 TESTING: git-cl dcommits ok Using 50% similarity for rename/copy detection. Override with --similarity. Loaded authentication cookies from /home/chrome-bot/.codereview_upload_cookies Running presubmit commit checks ... Presubmit checks passed. Description: 'foo-quux\n\nReview URL: http://localhost:8080/5840605766746112' Closing issue (you may be prompted for your codereview password)... TESTING: dcommitted code has proper description TESTING: issue no longer has a branch FAILURE: issue no longer has a branch Presubmit checks took 99.8s to calculate.
Message was sent while issue was closed.
Committed patchset #3 manually as r216009. |