New issue
Advanced search Search tips

Issue 672043 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 642493



Sign in to add a comment

Test git cl for Rietveld against gnumbd repo before gnumbd shutdown

Project Member Reported by tandrii@chromium.org, Dec 7 2016

Issue description

Part of  issue 642493 .

Plan:
 1. create new playground/test branch in V8, branching off master
 2. add it to gnumbd config
 3. try manually landing something with git cl land
 4. remove it from gnumbd config
 5. try manually landing something else.
 
git push origin HEAD:refs/heads/playground/test HEAD:refs/pending/heads/playground/test HEAD:refs/pending-tags/heads/playground/test
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: done    
To https://chromium.googlesource.com/v8/v8
 * [new branch]      HEAD -> playground/test
 * [new branch]      HEAD -> refs/pending/heads/playground/test
 * [new branch]      HEAD -> refs/pending-tags/heads/playground/test
error: update_ref failed for ref 'refs/remotes/origin/playground/test': cannot lock ref 'refs/remotes/origin/playground/test': 'refs/remotes/origin/playground' exists; cannot create 'refs/remotes/origin/playground/test'

Apparently because playground/test also makes sense playground *branch* and test as *directory*. :(

Change of plans: let's do v8/test-gnumdb branch instead.
Granted delete refence rights: https://chromium-review.googlesource.com/#/c/417262/ 

$ git push origin --delete refs/heads/playground/test refs/pending/heads/playground/test refs/pending-tags/heads/playground/test
remote: Processing changes: done    
To https://chromium.googlesource.com/v8/v8
 - [deleted]         playground/test
 - [deleted]         refs/pending-tags/heads/playground/test
 - [deleted]         refs/pending/heads/playground/test
error: cannot lock ref 'refs/remotes/origin/playground/test': 'refs/remotes/origin/playground' exists; cannot create 'refs/remotes/origin/playground/test'
New ACls for refs/heads/gnumb-test/* branches:
https://chromium-review.googlesource.com/#/c/417263/

(to be reverted in https://chromium-review.googlesource.com/#/c/417803/)
Branches created: $ git push origin HEAD:refs/heads/gnumb-test/git_cl1 HEAD:refs/pending/heads/gnumb-test/git_cl1 HEAD:refs/pending-tags/heads/gnumb-test/git_cl1
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: done    
To https://chromium.googlesource.com/v8/v8
 * [new branch]      HEAD -> gnumb-test/git_cl1
 * [new branch]      HEAD -> refs/pending/heads/gnumb-test/git_cl1
 * [new branch]      HEAD -> refs/pending-tags/heads/gnumb-test/git_cl1

Created bad whitespace CL: https://codereview.chromium.org/2554353002


$ git new-branch bad-cl --upstream origin/gnumb-test/git_cl1
$ git cl upload -v -v
...
DEBUG:root:git config remote.origin.url
DEBUG:root:git config remote.origin.url
DEBUG:root:git fetch https://chromium.googlesource.com/v8/v8 +refs/meta/config:refs/git_cl/meta/config +refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main
remote: Counting objects: 62019, done
remote: Finding sources: 100% (248/248)
remote: Total 248 (delta 121), reused 243 (delta 121)
Receiving objects: 100% (248/248), 30.91 KiB | 0 bytes/s, done.
Resolving deltas: 100% (121/121), done.
From https://chromium.googlesource.com/v8/v8
 * [new ref]         refs/meta/config -> refs/git_cl/meta/config
 * [new ref]         refs/gnumbd-config/main -> refs/git_cl/gnumbd-config/main
DEBUG:root:git show refs/git_cl/gnumbd-config/main:config.json
DEBUG:root:git show refs/git_cl/meta/config:project.config
DEBUG:root:git config -f /tmp/git_cl_proj_configfM6yeb --get-all plugin.git-numberer.validate-enabled-refglob
DEBUG:root:git config -f /tmp/git_cl_proj_configfM6yeb --get-all plugin.git-numberer.validate-disabled-refglob
DEBUG:root:git config branch.bad-cl.merge
DEBUG:root:git config branch.bad-cl.remote
DEBUG:root:git config rietveld.project
INFO:root:upload.RealMain(['upload', '--assume_yes', '--server', 'https://codereview.chromium.org', '--issue', '2554353002', '--git_similarity', '50', '--target_ref', 'refs/heads/gnumb-test/git_cl1', '--project', 'v8'
...
https://codereview.chromium.org/2554353002
Note the --target_ref is refs/heads/gnumb-test/git_cl1, not pending. That's because I didn't configure gnumbd yet for this.


Speaking of gnumbd, an alert has fired for playground/test branch.
It was noticed by gnumbd: 

[I2016-12-07T15:53:03.597342+00:00 20802 140565471995712 infra.libs.service_utils.outer_loop:68] Begin loop 11 (292.4 sec to deadline)
[I2016-12-07T15:53:03.598222+00:00 20802 140565471995712 infra.libs.git2.repo:231] Running ('git', 'fetch')
From https://chromium.googlesource.com/a/v8/v8
   5df1ec25de..7b65ed7dbb  refs/gnumbd-config/main -> refs/gnumbd-config/main
[I2016-12-07T15:53:04.878736+00:00 20802 140565471995712 infra.libs.git2.repo:261] Finished in 1.3 sec
OK, here is a bug in git cl proposed change:
 (with https://chromium-review.googlesource.com/c/417259/7 in depot_tools)


$ git cl upload --bypass-hooks -t "after gnumbd got enabled on this ref" -v -v
...

DEBUG:root:git config remote.origin.url
DEBUG:root:git config remote.origin.url
DEBUG:root:git fetch https://chromium.googlesource.com/v8/v8 +refs/meta/config:refs/git_cl/meta/config +refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main
DEBUG:root:git show refs/git_cl/gnumbd-config/main:config.json
DEBUG:root:git show refs/git_cl/meta/config:project.config
DEBUG:root:git config -f /tmp/git_cl_proj_configw6we0D --get-all plugin.git-numberer.validate-enabled-refglob
DEBUG:root:git config -f /tmp/git_cl_proj_configw6we0D --get-all plugin.git-numberer.validate-disabled-refglob
INFO:root:read enabled ['refs/heads/master', 'refs/heads/gnumb-test/*', 'refs/heads/playground', 'refs/heads/*.*.*', 'refs/branch-heads/*.*', 'refs/internal/*'] disabled [] refglobs for validator plugin (this ref: refs/remotes/origin/gnumb-test/git_cl1)
DEBUG:root:_GitNumbererState(pending: None, validator: False)



Note the (this ref: refs/remotes/origin/gnumb-test/git_cl1) => the ref is wrong.
Yay, with playground/test I've just caused an outage for bot_update:  http://crbug.com/672101 , luckily I removed those branches quickly.
Fixed the bug in #11 with https://chromium-review.googlesource.com/c/417259/7..8/git_cl.py

Re-uploading now produces:

DEBUG:root:git fetch https://chromium.googlesource.com/v8/v8 +refs/meta/config:refs/git_cl/meta/config +refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main
DEBUG:root:git show refs/git_cl/gnumbd-config/main:config.json
DEBUG:root:git show refs/git_cl/meta/config:project.config
DEBUG:root:git config -f /tmp/git_cl_proj_config7doEVA --get-all plugin.git-numberer.validate-enabled-refglob
DEBUG:root:git config -f /tmp/git_cl_proj_config7doEVA --get-all plugin.git-numberer.validate-disabled-refglob
INFO:root:read enabled ['refs/heads/master', 'refs/heads/gnumb-test/*', 'refs/heads/playground', 'refs/heads/*.*.*', 'refs/branch-heads/*.*', 'refs/internal/*'] disabled [] refglobs for validator plugin (this ref: refs/heads/gnumb-test/git_cl1)
DEBUG:root:_GitNumbererState(pending: refs/pending/, validator: True)

This has landed: https://codereview.chromium.org/2557043004 and gnumbd-ed. So, at least my change is working for current case.
Gnumbd happily processed it: https://chromium.googlesource.com/v8/v8/+/80e0e15b3902abb4b2166a20be4bf512136119c0
Step 4: Removed gnumb-test/* branches gnumbd config: https://chromium.googlesource.com/v8/v8/+/refs/gnumbd-config/main%5E%21/#F0
Step 5: it worked!!!
Gnumbd-less commit generated directly by git cl:

https://chromium.googlesource.com/v8/v8/+/937ca4c5c6ae0077433e84dc0c8a8f5b6c60b6f9
Step 5.1: https://codereview.chromium.org/2554423003 which is the first commit on the new branch git_cl2 landed with git cl directly: https://chromium.googlesource.com/v8/v8/+/f7b0dd6d789c75f946523ffaaa96848f052f4414
So, end-to-end with git cl is complete.
Status: Fixed (was: Started)
Deleted test refs.
Reverted acls: https://chromium-review.googlesource.com/c/417803/
Project Member

Comment 20 by bugdroid1@chromium.org, Dec 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/768f1d88a0c5cf478f84e3706e92b7caf9c5e8c7

commit 768f1d88a0c5cf478f84e3706e92b7caf9c5e8c7
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date: Thu Dec 08 14:10:13 2016

git cl: use gnumbd config instead of PENDING_REF_PREFIX of codereview.settings.

BUG= chromium:642493 , 672043 
R=machenbach@chromium.org,iannucci@chromium.org

Change-Id: I0abc31b95b1766fd5fd24c1379b538d0c5291011
Reviewed-on: https://chromium-review.googlesource.com/417259
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>

[modify] https://crrev.com/768f1d88a0c5cf478f84e3706e92b7caf9c5e8c7/git_cl.py
[modify] https://crrev.com/768f1d88a0c5cf478f84e3706e92b7caf9c5e8c7/tests/git_cl_test.py

Project Member

Comment 21 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/cbec8efcee50c04e659d909f132bb3bbf12a2e04

commit cbec8efcee50c04e659d909f132bb3bbf12a2e04
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date: Fri Dec 09 12:54:51 2016

git cl + git-numberer: add extra regression test case.

R=machenbach@chromium.org
BUG= chromium:642493 , 672043 

Change-Id: Ie50637d6e01e40ddd15dcdfc1430c9554fa82976
Reviewed-on: https://chromium-review.googlesource.com/418715
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>

[modify] https://crrev.com/cbec8efcee50c04e659d909f132bb3bbf12a2e04/tests/git_cl_test.py

Sign in to add a comment