Say, hypothetically, after several days of ugly hacking, I’ve made a bunch of elegant changes to
mbox.rb . Things like
- BUG: make topic post be the first message in thread rather than the last
- FEATURE: replace email addresses in posts with @username
- UX: made it clearer where the script looks for files
- UX: improved error checking and reporting
- FEATURE: added gsubs to “correct” bogus email addresses (to probably wrong, but legal addresses)
- FEATURE: add optional code to import user bios from external database
- FIX: remove only [LISTNAME] from Subjects, not all [bracketed text]
- FEATURE: set default trust_level on imported users
(Whether comments and top-of-file constants are UX is debatable.)
These are all in a separate branch with a bunch of commits, some of which actually have descriptive commit strings and changed something small. I still need to pull back out stuff that doesn’t belong in core (e.g., gsubs that fixed address problems in only my data set). All of the changes are in a single file (plus maybe one or two to
base.rb) and this is just an import script, not affecting installed instances.
What do I do now? Return to master and retrace my steps to add in pieces to individual branches as if I knew what I was doing when I started? Submit the whole thing and let someone else sort it out? Something in between? Is there some git magic that would make the process easier?