Hi,
I am trying to use ds in combination with features and git.
The problem happen when two developers work on a ds layout, each on their local site, and then they try to merge their features.
(in fact my use case is a little bit different, but that should explain it)
To make it all worse, this is a really huge feature, from a time when I thought that putting everything in one feature was a good idea.
The git diff (and thus, the merge conflicts) between the two versions of the feature, esp. the ds part, contains a lot of noise, that could be avoided if ds would save canonical weights etc.
E.g. it could happen that for one developer, fields are saved with weights -10, -9, -8, while for the other, they are saved as -20, -19, -18. And, if the feature contains multiple content types and build modes, the order might be messed up.
I don't know how it is in more recent versions. I am using this in a 6.x-1.x / 6.x-2.x situation (I don't want to go into detail about my use case).
Some of this might have to be fixed in fields ui rather than ds - I dunno.
So, if this has not already been considered, here are some suggestions:
- don't save a weight, if the field is in "disabled"
- always count weights from 0 upwards on save.
- sort node types, build modes and field names alphabetically.
I was about to consider to not save anything in the "disabled" section, but actually this is necessary, to not discard things such as custom labels.
Comments
Comment #1
donquixote commentedHa.. actually it seems this is implemented in 6.x-2.x, and it is the difference with 6.x-1.x that is making me a headache :)
Comment #2
donquixote commentedSee also #1435110: Merge strategy for different feature versions?