-
Notifications
You must be signed in to change notification settings - Fork 122
Merge conflicts in release notes #2925
Comments
Thank you for making this proposal!
This is no problem at all, as before the release I deduplicate the release notes anyway. I think we can use the union merge driver for the link checker, icheck and the release notes. @Chemin1 what do you think about this? I actually was thinking to use a union merge also for comments in config files (maybe with some heuristic to detect typo-fixes. Does git provide such a merge driver?) |
git can use the built-in union merge driver with an attribute. It is not a merge strategy on its own (I've never used it btw). Is this the driver that you meant here
In this case using the union driver looks pretty straightforward to me.
I have thought about this, too, but was not sure how we would like to have this implemented exactly. Thus, I've now opened a new issue (it is quite long) for this topic. |
Yes, git calls this attribute "merge driver".
I agree, if there is a manual review anyway, it shouldn't be a problem. |
@Chemin1: can you implement this for our 3 files? |
Yes :) |
If we take for example the one from #3002:
Does anyone have a better idea than "Take everything from both versions"? |
That's the only solution I could think of that circumvents merge conflicts. It would make development easier for beginners, but complicates the release process (merging the various files could be difficult). It also causes problems, if multiple PRs implement one feature in several parts. Ideally such PRs would share one release notes file. |
You mean it circumvents conflicts when creating the release note file for a PR, not generally, right?
=> We essentially moved the conflicts to a later moment? Update: I do not know how to integrate Elektra into GitHub to automatically to resolve conflicts in exactly this file. But with @kodebach's approach someone could call |
We already agreed that we can simply keep everything in this file (take ours and theirs).
Before release someone needs to polish the whole text anyway.
I think you can simply use the union merge which already exists in git. Using merge-config-files would be a nice test how well it works, though. |
#3163 seems to work according to @markus2330. |
The way we currently write our release notes is prone to merge conflicts.
Here is a list of solutions I could think of/find online (some from #2923):
<<TODO>>
placeholders and instruct people to choose a random placeholder instead of the first. This makes merge conflicts less likely, but depends on people actually choosing somewhat randomly. A side effect of this would be that a merge conflict could be solved by a simple commit changing, which placeholder was replaced, instead of a rebase.union
merge driver is suggested for this. However, it is very problematic, if there are modified lines as well as added lines in the merge conflicts. (It may duplicate lines without the user noticing).The text was updated successfully, but these errors were encountered: