Need Git Branch for Chrome for iOS Revert |
||||||||
Issue descriptionPlease create a git branch to revert an MDC change that caused a settings issue for chrome for ios: https://github.com/material-components/material-components-ios/issues/3656 See further explanation in c#10 of the settings issue (also blocking bug): https://bugs.chromium.org/p/chromium/issues/detail?id=865043#c10 We need the branch created asap as we will need time to test this before stable cut next week.
,
Aug 20
TPMs have historically created these branches... I believe it should be refs/branch-heads/<current branch number>. Then you set it to the branch point for the current milestone, then you can revert or cherry pick anything you want on top of it. It's similar to branching ios_internal.
,
Aug 20
Repo: https://github.com/material-components/material-components-ios New branch name: refs/heads/MDC-branch Smut: Is there documentation for TPMs to do this? None of my team has knowledge of this.
,
Aug 20
kariahda@ I believe what Sana is saying that you should have the right to create a branch. Now, I still don't know which repo it is, but assuming it's ios_internal, you navigate to: https://chrome-internal-review.googlesource.com/admin/repos/chrome/ios_internal,branches -> create new -> fill "refs/branch-heads/<TODO>" and initial revision: https://screenshot.googleplex.com/bBEhf0SM8f8
,
Aug 20
> Repo: https://github.com/material-components/material-components-ios We don't administer github, definitely not material-components. But it seems you've already been creating branches in its mirror: https://chrome-internal.googlesource.com/external/github.com/material-components/material-components-ios/ So, for very short term resolution, you can do what I wrote above in #c3 but starting in https://chrome-internal-review.googlesource.com/admin/repos/external/github.com/material-components/material-components-ios,branches However, long term these branches on a mirror can be easily lost if someone pushes branch with the same name to github, and maybe even in other cases. I think your project needs to rethink branching strategy for this repository.
,
Aug 20
per c#4 I will try to create myself.
,
Aug 20
I'm unsure what to put in "initial revision" field. The example says "copy-paste-required-hash-from-master." Is this the initial revision from the branch I'm creating? Where do I find the hash?
,
Aug 21
Yes, sorry, for clarity: you need to make the branches in the mirror. I think you should put the revision where MDC (would have) been branched for the current milestone. Ostensibly that's the MDC revision found in src/DEPS or the buildspec or whatever at the branch point.
,
Aug 21
Branch created and the offending CL has been reverted: https://chromium.googlesource.com/external/github.com/material-components/material-components-ios.git/+/refs/branch-heads/3497 tandrii: How do we now get DEPS to point to this new branch?
,
Aug 21
1. I'm glad branch creation worked. 2. > tandrii: How do we now get DEPS to point to this new branch? The same way all other DEPS pin work -- you edit DEPS file to point to latest revision hash from the branch you've just created. 3. FYI: git admins do not have capacity nor knowledge of which DEPS file refers to which repository.
,
Aug 21
Edit the M69 DEPS to reference refs/branch-heads/3497 in material-components-ios. https://chromium.googlesource.com/chromium/src/+/refs/branch-heads/3497/DEPS
,
Aug 21
mmoss: The git branch has been created and mirrored on git on borg. Would you be able to modify appropriate DEPS files and anything else that may be needed?
,
Aug 22
I can send out a CL to change DEPS on M69. Is DEPS in chromium.git the source of truth for branches now? We don't have to edit buildspec files anymore?
,
Aug 22
Yeah, see comment here: https://chrome-internal.googlesource.com/chrome/tools/buildspec/+/master/branches/3497/DEPS If I understand correctly, the buildspec will be computed at build triggering time by resolving all DEPS and pinning them. So on M69 if you change material-components-ios to refs/branch-heads/3497 then for each buildspec it will resolve and pin to whatever the current revision is for refs/branch-heads/3497 so the builds reproduce, but you don't have to update the exact revision all the time.
,
Aug 22
Note, you should really only be using refs in the DEPS if it's something that changes a LOT on the branch (e.g. v8). For a repo with infrequent changes, we prefer to have the entries pinned to explicit hashes.
,
Aug 22
Does anyone have complete understanding and confidence of this process from end to end? By this process, I mean creating the git branch, reverting the offending CL, changing the DEPS file and anything else that may be needed. It seems we are all piecing together knowledge here. Since M69 is a very high-visibility release, I don't feel comfortable proceeding with this as the solution for M69, if someone cannot confidently own this from beginning to end. I, personally, do not feel confidence here. If the answer is no, Rohit, maybe we should re-evaluate your M70 solution and possibly escalate this to management so they're aware.
,
Aug 22
,
Aug 22
Branch fixes pretty much follow the "normal dev workflow" nowadays, since buildspecs are out of the picture, so there's really nothing special to know. The only difference from doing a similar fix on trunk is that you actually need to create the branch first (only needed if this is the first fix for that branch), and then manually roll it into src/DEPS (and at some point the ios autoroller should handle that too, just like for trunk).
,
Aug 22
I have confidence in this process from end to end, since everything we've done is pretty standard. To be specific, we've: 1) Created a "3497" branch in the MDC repo. 2) Reverted a CL on that branch. 3) Rolled M69 DEPS to use the updated hash for MDC. 4) Successfully build M69 after doing the above. #1 and #2 are done. #3 is in-flight at https://chromium-review.googlesource.com/c/chromium/src/+/1185203 If anything goes wrong when we get to step #4, it will fail loudly and obviously. But the bots sync with --with_branch_heads, so they should be fine.
,
Aug 22
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c90bff1bf0daf01c8496d1217c4484fed599740 commit 7c90bff1bf0daf01c8496d1217c4484fed599740 Author: Rohit Rao <rohitrao@chromium.org> Date: Wed Aug 22 15:58:28 2018 [ios] Updates DEPS for material_components_ios to use the 3497 branch. BUG= 876019 , 865043 Change-Id: I036272e43c272c0e821b6d619d734fcc313e4c86 Reviewed-on: https://chromium-review.googlesource.com/1185203 Reviewed-by: Michael Moss <mmoss@chromium.org> Reviewed-by: Kariah Davis <kariahda@chromium.org> Cr-Commit-Position: refs/branch-heads/3497@{#766} Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753} [modify] https://crrev.com/7c90bff1bf0daf01c8496d1217c4484fed599740/DEPS
,
Aug 22
Ok thank you rohitrao and mmoss. The new beta build successfully completed. Let me know if there is any further action we need to take. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by tandrii@chromium.org
, Aug 20