@ArmakuniHQ No matter how bad the conflicts are, fixing them can be a lot easier than stabilizing the branch after the merge (at least in some massive embedded sw projects). Painful to recall those days (weeks/months)...
@cgbystrom That's typically the CI system's job. The result you'd get doing it yourself (in isolation) will probably be outdated by the time you get it.
@cgbystrom There could historical or other reasons. As a dev I'd like to be able to pull just the repo(s) I need to work with, not the world. Only CI needs everything.
@vielmetti Also using a 'baseline comparison' mode - ending at the 1st failed testcase (which passed in the baseline): regression found, rejection will follow anyways, no need to run remaining testcases.
@ShawnaActually New Hire Guide doc(s), initially seeded with info by a few mentors, but subsequently updated by the mentorees themselves with their own experiences.
@KevinTrethewey Yup - done feature branch spaghetti -> TBD migration for a Cisco BU. Huge success. I designed and operated the CI system for that. Gated commits BTW - IMHO the key at scale (traditional CI doesn't cut it). I'm no longer there, but TBD is ;) 1400+ devs when we parted ways.
@klangwabe @paul_hammant That's ok immediately after the release branch is pulled, but once the trunk gets more commits and starts diverging it may no longer work.
@klangwabe @paul_hammant You pull a release branch because trunk keeps evolving into something else (next release?). Fixes in release aren't necessarily OK/applicable in trunk, blanket merging release into master can cause trouble. Cherry picking (with proper trunk validation) is the right approach.
@drVillo @kenny_baas Yup, size matters. If multiple agile teams works on the same project choosing between CI/CD or gitflow is not a decision the teams can/should make independently, they all need to agree on one or the other. Hopefully CI/CD ;)
@kenny_baas @drVillo Not necessarily, IMHO. In larger teams devs often don't even know (let alone trust) each-other, yet they can still build decent products together.
@kenny_baas @drVillo Trusting your team members only goes so far: everyone makes mistakes, senior devs usually work on higher risk changes than juniors, etc. Gating commit CI systems can help since they prevent breakages instead of just detecting them - no need for repairs, trust becomes irelevant.
@_les OK if no other commits to the branch or its parent. Otherwise things *might* get more complicated than that (as in may require more effort/time/cost than expected).
@_les Agreed wrt twitter. If you're on https://t.co/DbJavFlxRg we could use its chat... Hm, different merges => different commits, even if they're ff. And same change/diff can behave different in different contexts (branches/baselines).
@_les fast-forward merges can still cause breakages - purely functional conflicts cannot be detected at the version control system level, only the affected builds/tests can reveal them. And what if the merges aren't fast-forward?