Conversation
Edited 10 days ago

Every time I have to merge upstream I regret the big codebase changes I made in notnotdNetHack (like removing every K&R-style declaration, converting a load of longs to long longs, removing a load of broken/untested feature macros, and removing some unnecessary macros and typedefs).

I still think it’s an improvement in terms of code quality, but it makes merging a pain. In extern.h every single changed line conflicts because I removed the E and FDECL macros, and git doesn’t treat every line as its own chunk so I have to go through a massive chunk to find which lines changed and update them.

I’ve been using sed (and previously emacs’s replace-regexp) to help with merging extern.h for a while (although they break on some stuff like declarations that go across multiple lines) and last time I wrote a Python script which would merge identical chunks, so hopefully merging extern.h won’t be quite as bad this time.

(That being said, I don’t want to revert any of the changes or add some of the #defines back for compatibility because the inconsistency would be annoying.)

0
0
0