We have two branches: 1. HEAD - the latest version (AKA Trunc) 2. PROD - the released version
When you fix bugs in the released version, which of these do you do:
- Fix it in PROD, then merge to HEAD
- Fix it in HEAD, then merge to PROD
The advantage of (1) is that this way you absolutely cannot harm the released version by accidentally bringing over untested code from HEAD (The assumption is that PROD is always more stable/tested than HEAD).
The advantage of (2) is that there might be more usages for a piece of code in HEAD than in PROD, so if you fix only in PROD you might not find all such usages and so slip bugs into HEAD.
I'm personally for (1). What do you think?