I would go so far as to say that people thinking you've done one role for [x] years is absolutely terrible if that's not the case. Promotions and advancement are regarded as positives, they show you're not just drifting along, that you rise to challenges and that you seek to better yourself.
It becomes a bit grey if the changes are sideways (Or even worse, downwards), but ultimately, you should treat every single role / promotion as a new job and list it as such. e.g:
Oranges Inc, Senior Developer (Seattle, 2010 - 2013)
Roles and responsibilitiesAccomplishments etc here
Banana Inc, Senior Developer (New York, 2009 - 2010)
Roles and responsibilitiesAccomplishments etc here
Banana Inc, Development Engineer (New York, 2008 - 2009)
Roles and responsibilitiesAccomplishments etc here
Banana Inc, Junior Developer (New York, 2007 - 2008)
Roles and responsibilitiesAccomplishments etc here
There is absolutely nothing wrong with that at all. In fact, in my personal case, one of the jobs which I list on my CV (And make a point of, too, as it was the sort of role I wanted) was actually a 6 month secondment. If it had been unimportant I may have rolled it into my 'day job' but I wanted to highlight it, so listed it separately.