We kept a refactor branch alive while the sprint moved around it. By the time it was ready, merging turned into archaeology: rereading other people's diffs to work out what our own changes still meant. Rebasing wasn't the expensive part, remembering was. Now a branch that outlives a week gets split and shipped in pieces, even ugly ones. You probably have your own cutoff before a branch stops being worth merging.
Was this useful?