We have a code base for a grails plugin that actively supports two versions of grails. There are some core differences in the layout and configuration of each version, but the functionality provided by both should be near identical.
I would like to get our git workflow into a state where a feature can be developed against one version, and then easily merged against the other.
Using the layout discussed in this question, we have a pair of master and develop branches for both the grails237 and grails243 versions. What I'm aiming for is this:

Is this possible to do this in such a way that only the feature-xyz changes are merged, and not any previous grails version-specific changes that come before it?
I realise that cherrypicking is an option, but for multiple changes it could get messy..
 
    