On Aug 7, 2014, at 8:40 AM, Animesh Chaturvedi <animesh.chaturv...@citrix.com> wrote: >> (Like most of the internet...) I strongly believe using cherry picks as the >> basic >> tool for (release) branch management is one of the worst choices you can >> make. >> >> But. Please. Can. We. Just. Stop. Cherry. Picking!!! :-D [1] >> > [Animesh] Leo I don't mind moving to merging branches rather than > cherry-picking for technical reasons, but I am not sure cherry-picking is to > blame entirely. Using it all the time caused the pain.
Yes, I completely agree with that! It was a bit tongue-in-cheek, in fact the joke at the [1] reference... > [1] ... Using 'git cherry-pick' when there are actual cherries > to actually pick is fully endorsed by LSD Enterprises LTD. > Picking things other than cherries voids warranty. ... ...tries to make the same point. I really should stop trying to be funny! More seriously, Use distributed version control. Commit early and often. Push often enough. Strive for idempotent commits. Write good commit messages. Ask and give review liberally. Keep history though rewriting some of it is ok. Branch pre-emptively, except when you are sure you don’t need to. Rebase when it is safe to do so. Merge deliberately to combine branches. Stabilize a branch before you merge from it. Merge from the more stable onto the less stable branches. Pick cherries from a less stable branch you won’t merge. Know your tools. Know when to break the rules. happy hacking, Leo