I once wrote a quite web-page that kind of did this. I can't give you the page, unfortunately, but I can give you an idea of what I did.
First our development model - all development made to trunk, revisions then get merged into various release branches for different versions of products.
I set up a web page with a column for each version and a row for each trunk revision.
By running svn mergeinfo for each column, I got back the list of trunk revisions that had been merged in to that version.
So we ended up with something very similar to those feature comparison lists you get - a table showing a black dot for each version that contained the corresponding trunk commit.
Looked a bit like this:
rev | ver1 | ver1.1 | ver2 | ver2.1 |
200 | | | | X |
198 | | X | | X |
177 | | | | X |
176 | | | X | X |
157 | X | X | X | X |
146 | X | X | X | X |
122 | X | X | X | X |
075 | X | X | X | X |
This let us see exactly what each version contained (useful for testing), as well as highlighting if any revisions were merged into one place but not another.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…