New issue
Advanced search Search tips

Issue 704909 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 685433
Owner: ----
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

DEPS publishing formats dict recursedeps incorrectly casuing recursive deps to not be synced on release tags.

Project Member Reported by mharanc...@opera.com, Mar 24 2017

Issue description

What steps will reproduce the problem?
(1) git checkout origin/master
(2) gclient sync -D -R -f --with_branch_heads --nohooks
(3) ls third_party/swiftshader/third_party/pnacl-subzero/
(4) git checkout 59.0.3047.4
(5) gclient sync -D -R -f --with_branch_heads --nohooks
(6) ls third_party/swiftshader/third_party/pnacl-subzero/

What is the expected result?
Sources to be present and synced to release tag.

What happens instead?
Sources removed (or left unchanged if -f is omitted).

The problem is that recursive deps (recursedeps entires in main DEPS files) that are lists when published have their entires reversed, and gclient expect specific order to work (gclient.py:628). This is turn causes those recursive deps to not be synced in release tags checkouts, depending on call either removing that dir completely (gclient sync -D -f) of just leaving at whatever revision it was checked out previously.
 
Example commit that messes the entries order is aa3cc850c899f497439b47337e28a4beee866230.
Manually reversing order in those entries and syncing again restores that dir in checkout properly.
Components: Infra>Client>Chrome>Release

Comment 5 by brat...@opera.com, Mar 28 2017

Cc: dpranke@chromium.org
Mergedinto: 685433
Status: Duplicate (was: Untriaged)
Yup, sounds like a duplicate to me.

Sign in to add a comment