git-cola/git-cola — pull request #119 by ugtar (2012-03-16 07:56:10+00:00)
Title: Better branch color change heuristic

I think this is the one we've been looking for. It maintains branch colors,
and changes main lineage to match the branch color once the branch is
merged back in. It also doesn't change colors every time a branch is
merged in which means you can merge back many times from the same
branch and it will remain the same color, making it easier to follow that
the merge backs are always coming from a particular (even long running
branch). Try it out on the faceroll repo and you'll see what I mean.

---8<---

This makes our edge colors a bit less schitzophrenic by only switching
the edge color when a new branch is detected, rather than also when the
branch is merged in. This makes the history a bit easier to follow.

It also prevents the colors from changing when multple merges are
integrated from the same lineage (such as when changes are being
continually merged in from a stable branch, the stable branch will
maintain it's edge color through repeated merge-backs, and all the
merge-back edges will be the same color as the stable branch).

Signed-off-by: Uri Okrent