{"thread":{"id":"9398","subject":"git-blame and blame GUI wishlist","startedAt":"2007-08-05T22:09:37Z","lastAt":"2007-08-05T22:09:37Z","messageCount":1,"participants":["Jakub Narebski"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"49954","messageId":"200708060009.37595.jnareb@gmail.com","threadId":"9398","inReplyTo":null,"subject":"git-blame and blame GUI wishlist","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-08-05T22:09:37Z","receivedAt":"2007-08-05T22:09:37Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"1. In git-gui blame viewer you can click on shortened sha1 of a commit\n   to see file at given version. Unfortunately git-gui goes to other\n   version of a file by reblaming a file starting from scratch.\n\n   It would be nice to have \n     git blame --incremental=<revision1> <revision2> -- <file>\n   which would blame only lines which differ between <revision1>\n   and <revision2>. We can assume that <revision2> is ancestor of\n   <revision1>, I think. I'm not completely sure if it is possible\n   and reasonable, i.e. if one can assume that only lines which\n   differ need reblaming...\n\n   And of course use this feature in \"git-gui blame\" which should\n   speed up exploring file history a bit.\n\n\n2. Sometimes I'm interested only in part of a file. Thus I'd like\n   \"git-gui blame\" to understand line-range parameter of git-blame.\n   It means that I'd like to be able to say for example:\n     git gui blame -L '/^sub git_feed/,/^}$/' HEAD -- gitweb/gitweb.perl\n   and have only given range of lines blamed, with the rest grayed out\n   in the \"inactive control\" style. Of course in the case I specified\n   line range incorrectly, I'd like to have menu entry or a button to\n   reblame _whole_ file... Or perhaps do blaming of a whole file in the\n   background, after blaming specified range fo lines.\n\n   This should speed up \"git gui blame\" a bit. By the way, of course\n   git-gui should start with the selected line-range visible.\n\n\n3. Sometimes when reviewing patches I do wonder: why the preimage looks\n   like it looks like. It would be useful in that situation to be able\n   to blame the patch (context lines and pre-image lines). Although I'm\n   not suer if it would bevery useful and used often [enough].\n\n\nP.S. qgit uses some bottom-up all-files mechanism to get the blame of \nall the files together. Could anyone describe in few sentences the \nalgorithm qgit uses? Would it be useful to put it available e.g. in \ngitlib-thin for other viewers, or not; what do you think?\n\nP.P.S. Of couse the examples and ideas are not limited to \"git gui \nblame\"...\n\n-- \nJakub Narebski\nPoland\n"}]}