Skip to content

Forked merge commits seem drawn incorrectly #11

@drok

Description

@drok

Hello, and thank you for the brilliant SVG generator as well as the Orthogonal Git Workflow article, which is very well written and contains a wealth of good ideas.

I'd like to ask specifically about Figure 3.1 in the article, which seems to not correspond well with the text in the article. However, the article also appears incomplete with respect to the "bugfix after feature freeze" section:

Figure 3.1

The figure shows the bugfix/W-43_fix-crash branch forked from the master branch at the v.2.11.0-rc1 tag; the bugfix branch is then merged into a v2.10 branch. The text describes the scenario as a bug in v.2.10.0 being fixed, but the diagram, as drawn, suggests that the features from develop that the new release branch v.2.10 will contain v.2.11.0-rc1 features.

Furthermore, as drawn, the bugfix/W-43_fix-crash branch is based on v.2.11.0-rc1, not on v.2.10.0 where the bug was supposedly found, if my interpretation of the article is correct.

The question is:

  • Was the bugfix/W-43_fix-crash meant to be drawn as forking from v.2.10.0 instead of v.2.11.0-rc1
  • If so, where is the problem, in the input to the Grawkit script, or in Grawkit's interpretation of the input?

Maybe the issue is that in this scenario the bugfix/W-43_fix-crash would be fast-forwardable, and this confuses the awk script?

I'd also love to see your finished thoughts on the "bugfix after feature freeze" topic, which you describe as an "extraordinary measure".

Would it not make sense to branch bugfix/W-43_fix-crash from v.2.10.0, hard-reset master to v.2.10.1, thus abandoning v.2.11.0-rc1, and then merge develop into the new master, tagging it v.2.11.0-rc2 ? Alternately, having a staging branch where the -rc versions go, and merging staging into master only at release points would allow the master to contain only versions usable in production, and also allow bugfixes to be applied at any stage, before or after the feature freeze?

I assume steering the production systems to use a release from the non-master branch named v.2.10 branch is what makes this solution an "extraordinary measure".

Thank you again for your amazing work. I plan on using the script for creating some documentation of my own.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions