{"thread":{"id":"17441","subject":"[EGIT] Blame functionality update","startedAt":"2009-01-29T17:35:28Z","lastAt":"2009-01-31T01:26:09Z","messageCount":3,"participants":["Manuel Woelker","Robin Rosenberg","Shawn O. Pearce"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"102480","messageId":"3d045c7e0901290935l3bddac0emcbaee0b4b2c5695f@mail.gmail.com","threadId":"17441","inReplyTo":null,"subject":"[EGIT] Blame functionality update","fromName":"Manuel Woelker","fromEmail":"manuel.woelker@gmail.com","sentAt":"2009-01-29T17:35:28Z","receivedAt":"2009-01-29T17:35:28Z","isPatch":false,"sender":{"key":"manuel.woelker@gmail.com","avatar":null},"body":"Hi folks,\n\nquick update about the state of blame functionality in my egit branch\nat http://github.com/manuel-woelker/egit/tree/blame\nScreen shot here: http://docs.google.com/View?docid=df5rvczr_3f46vd2ds\n\n- Diff support: I changed the IDiff as suggested to work on raw bytes\nand IntList's. I also yanked the Diff implementation from wicket and\nadapted it for use in jgit. The diff stuff now lives in its own\npackage. I also added some basic tests to see if plugged diff\nimplementations conform to the required expectations.\n\n- log support: I added an OriginWalk in the new log package that\ntraces ancestry of a file though history (including renames and\ncopying). This might also be neat for the history page, which does not\nseem to follow renames at the moment (think \"log -C -M\"). This is just\na rough sketch atm. Copies are disabled right now, cause the\nperformance is abysmal, and the current implementation tries to trace\nthe ancestry of empty lines back to the triassic period. So this could\ndefinitely be optimized. The OriginWalk itself uses RevObject (as\nsuggested) so it should be a little faster. The implementation\ncurrently traces the different strands of ancestry quite naively,\npossibly parsing commits multiple times. This could be improved to a\nsingle pass walk, but this makes the algorithm a little less\nstraight-forward and I haven't gotten around to that.\n\n- As a result of the the OriginWalk mentioned above, the blame\nimplementation has been refactored slightly, while still keeping the\nbasic structure.\n\n- I hooked up the blame functionality to the UI which was easier than\nanticipated. I am quite pleased with the result (see screen shot\nabove). The only thing that proved a little tricky was history and\nannotation ruler selection listener notifying each other recursively.\nFor now I stopped the stack overflow by detecting that recursive call.\nIf anyone got a better solution just give me a shout.\n\nFeedback, comments and criticism are welcome as always.\n\nCheers\n  - Manuel\n"},{"id":"102501","messageId":"200901292156.51906.robin.rosenberg.lists@dewire.com","threadId":"17441","inReplyTo":"3d045c7e0901290935l3bddac0emcbaee0b4b2c5695f@mail.gmail.com","subject":"Re: [EGIT] Blame functionality update","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2009-01-29T20:56:51Z","receivedAt":"2009-01-29T20:56:51Z","isPatch":false,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"torsdag 29 januari 2009 18:35:28 skrev Manuel Woelker:\n> Hi folks,\n> \n> quick update about the state of blame functionality in my egit branch\n> at http://github.com/manuel-woelker/egit/tree/blame\n> Screen shot here: http://docs.google.com/View?docid=df5rvczr_3f46vd2ds\n\nImpressive!. Someone's been busy :)\n\nI haven't looked at the code yet but did take it for a ride and it was nice. \n\n-- robin\n"},{"id":"102670","messageId":"20090131012609.GI26880@spearce.org","threadId":"17441","inReplyTo":"200901292156.51906.robin.rosenberg.lists@dewire.com","subject":"Re: [EGIT] Blame functionality update","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2009-01-31T01:26:09Z","receivedAt":"2009-01-31T01:26:09Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Robin Rosenberg <robin.rosenberg.lists@dewire.com> wrote:\n> torsdag 29 januari 2009 18:35:28 skrev Manuel Woelker:\n> > Hi folks,\n> > \n> > quick update about the state of blame functionality in my egit branch\n> > at http://github.com/manuel-woelker/egit/tree/blame\n> > Screen shot here: http://docs.google.com/View?docid=df5rvczr_3f46vd2ds\n> \n> Impressive!. Someone's been busy :)\n\n+1.  This is very nice.\n \n-- \nShawn.\n"}]}