I have a project which supports multiple cpu architectures and multiple compiler toolchains. Some part of the code is the same for all architectures/compilers, but the other part is architecture- and/or compiler-specific. I think this is quite a common situation. So I'm wondering, what people write in their commit messages when they have to commit the same feature (bugfix, enhancement, etc) several times, one for each target architecture? There are tons of articles on the Internet of how to write a good commit message, but none of them mention anything about such subtleties.
Commit messages in a multi-platform project
project management;version control
If you change something in your code, you document the change in the commit log. If you have to apply the same kind of change in two places (for example, because the code A is written in assembly language X, similar code B is written in assembly language Y), and it is really the same thing you change, you will also have to write the same kind of content into log entry. There is actually no way around this. Maybe you decide to make the changes to B in a different order or granularity than the changes to A. Maybe the changes are actually not really the same, since in code A things are differently solved than in code B. The VCS cannot know this differences, only the one who made the change can, and so he can write a meaningful entry.However, if the code for both platforms is written in the same language, and you often run into the situation of having to fix the same bug in two places, you should ask yourself if there isn't a way to refactor the (obviously similar) code parts from those two areas into a common function which is part of the platform-independent area of the code base. This will make your code more DRY, which should be easier to maintain (and as a side-effect, you will not run into the problem with the commit log any more for that particular function).