improved history

crazy shit to ensure that the summary doesn't exceed the limit of allowed characters ;)

Another important change here: We used to create a temporary complete diff to generate the summary. Now we create the summary along the way while creating the real complete diff.