Skip to content
wxWidgets - Cross-Platform GUI Library
Stop Russia agression of Ukraine
Stop the War in Ukraine

wxWidgets is united with the people of Ukraine and the international community.

Cleaning patches for the review

Posted on by Vadim Zeitlin

Unfortunately (and, as usual, for historical reasons) we keep quite a few auto-generated files in wxWidgets sources repository, for example configure (created by autoconf), a lot of setup.h files all generated from the master setup_inc.h template using a simple sed script and also tons of makefiles (created by bakefile).

One of the many reasons this is inconvenient is that changes to these files get in the way when reviewing patches. But luckily, it’s simple enough to fix this, at least if you’re using a Unix system with patchutils on it. It’s enough to execute this command:

filterdiff -x '*/*.vcproj' -x '*/*.dsp' -x configure -x \
  '*/makefile.*' -x '*Makefile.in' -x setup.h.in \
  -x include/wx/msw/wince/setup.h -x '*/setup0.h' \
  some-wx-patch.diff > some-wx-patch-clean.diff

The command is actually not difficult to write but it is long and it’s easy to forget something (as I just did for not the first time when retyping it) so I recorded it in a one-line script called clean_patch and now you (and I) can simply do this instead:

./misc/scripts/clean_patch some-wx-patch.diff > some-wx-patch-clean.diff

If you add any new files, any new wxUSE_XXX constants or modify configure.in, please remember to clean your patches up. The clean patches are much more pleasant to review and easier to merge, even if there were other changes to the auto-generated files in the meanwhile.

Blog Archive