New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 921215 link

Starred by 3 users

Issue metadata

Status: Untriaged
Owner:
User never visited
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocked on:
issue 825241



Sign in to add a comment

branch-util: Add check for duplicated branch point version

Project Member Reported by moragues@chromium.org, Jan 11

Issue description

The currently working branch-util will allow you to create two branches from the same point.

EG: 
moragues@moragues:~/chromeos/master/src/scripts$ git branch -a | grep 11512
  remotes/cros/factory-octopus-11512.B
  remotes/cros/stabilize-atlas-11512.B

This results in a problematic situation for other parts of the build and test infrastructure.

Add a default check for this condition and aborting would help avoid this situation.
Allowing for a --force override of the rule might make sense, but as far as I know, it is a bad idea to do so.


 
Blockedon: 825241
Owner: evanhernandez@chromium.org
factory/release/stabilize/etc... branches should all be independent.  branching from the same version shouldn't be a problem.

what problems are you referring to ?  those should really be fixed if we have code that e.g. there will only ever be one branch associated with "11512".

Comment 4 by moragues@google.com, Jan 17 (6 days ago)

Bernie weighed in on the other bug.
We have seen issues with change listings between versions.
I have also seen build artifacts do strange things.

The last time I made this mistake, I was relatively new.  Those more experienced that I coached me how to fix it by cherry-picking my (duplicated) branch changes into a non-duplicated branch.

Recently, there was a race between two projects.  Each of us created a branch within the same hour from the same branch point.

factory-octopus-11512.B shows a strange version history.  Since it was an official octopus factory branch, we moved atlas to stabilize-atlas-11512.6.B.  It seems that there is still some strange behavior there that I don't think is correct or expected.

Comment 5 by evanhernandez@google.com, Jan 17 (5 days ago)

Cc: dgarr...@chromium.org
Right now I plan on implementing this check in the strictest way possible: one branch per version. We can always relax the constraint later if we deem it not a problem.

Maybe a dumb question, but: dgarrett@ how do we avoid buildspec conflicts right now, if at all? If I have factory-1234.B and stabilize-1234.B, what prevents us from generating 1234.2.0.xml twice?

Comment 6 by dgarr...@chromium.org, Jan 17 (5 days ago)

The code that creates the buildspecs looks for existing files, but exactly what it does, I'm not sure. You probably shouldn't expect it to do the right thing.

Sign in to add a comment