{"push_id":1477772953,"size":6,"distinct_size":6,"ref":"refs/heads/devel","head":"a2e25ce31a2caf66e397c6e5ebfa30975525b542","before":"d7635b7a4ee78f4a87c8a98b69aa70e3147399f4","commits":[{"sha":"40f5b557adfb4f708fb5f6ae0adfe4d90d531b87","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"new repository for git-blamediff","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/40f5b557adfb4f708fb5f6ae0adfe4d90d531b87"},{"sha":"b63590ee9056094f72f82d4cdb13e72bc7fd6a81","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"introduce git-blamediff script\n\nWhen working with git it is often a necessity to know which change set a\ngiven line was changed in in order to merge something in or amend it in\nsome other way. In general, this task can be accomplished by git's\n'blame' or 'annotate' commands.\nIt gets more interesting when one wants to annotate exactly what is in a\npatch. That is, one wants to retrieve such an annotation for exactly\nthose lines present in a diff in order to generate fix up commits, for\ninstance.\nThis change introduces the git-blamediff script which can be used to\nsimplify this task. The script reads from standard input (where it\nexpects a diff), extracts the different hunks, and invokes git blame for\neach of them. A sample invocation could look like this:\n  $ git diff | git blamediff\n\nIn its current state, the annotation is always performed against HEAD\nwhich makes sense in general for invocations of git 'diff' but not for\nother commands such as 'show'.\n\nNote: In order for git's 'blame' command to be able to directly\n      understand the paths supplied you have to produce the diffs\n      without a prefix. That is, the --no-prefix option should be passed\n      to git's 'diff' command.\n      Furthermore, in order for the script to work properly from\n      directories other than the root of the git repository you will\n      need to produce diffs with relative paths, i.e., pass in the\n      --relative option as well.","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/b63590ee9056094f72f82d4cdb13e72bc7fd6a81"},{"sha":"5b28dd8975cf9ca145dd770e0aa37c15edcbf09e","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"properly parse diffs containing continuation characters\n\nWhen a file contains a trailing newline and this symbol is removed or\nwhen it does not contain a a trailing newline and such a symbol is\nadded, git emits a special line \"\\ No newline at end of file\" that\nindicates this change. As it stands, this line could not be parsed\ncorrectly for it does not start with '+', '-' (both indicating an actual\naddition or removal), or a space (indicating context).\nThis change adds support for the '\\' symbol to the parser, causing it to\neffectively ignore it.","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/5b28dd8975cf9ca145dd770e0aa37c15edcbf09e"},{"sha":"8927629bd6fe7f53d941f97e50b2be78a625d671","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"correctly handle diff changing a affecting a single line\n\nIf a patch adds or removes a file with a single line the count fields of\nthe diff header are left out because a count of one is the default. Our\ndiff parser could not handle this case and would report an unexpected\nline.\nThis change adjusts the regular expression matching the diff header to\ntreat the count field as optional. If this field is missing, the assumed\ncount is one.","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/8927629bd6fe7f53d941f97e50b2be78a625d671"},{"sha":"2c05c5234f5f14dfb95f2ec8c8800c46298ab973","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"correctly blame no longer existing files\n\nIf a file is removed it is no longer existant at the time of the git\nblame invocation. Because the file no longer exists, the invocation will\nfail.\nThis change adjust the invocation by inserting a double dash between the\nstandard parameters and the file name. By doing so, git is advised to\nalso check the file in the history of the repository.","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/2c05c5234f5f14dfb95f2ec8c8800c46298ab973"},{"sha":"a2e25ce31a2caf66e397c6e5ebfa30975525b542","author":{"name":"deso","email":"6a3343c81e302c0cbf0848942a4e26d4775399be@posteo.net"},"message":"handle empty lines correctly\n\nWhen a file contains an effectively empty line, a diff generated\nincorporating this line as context does not have any visible character\nin this particular line (not even a space as one would intuitively\nexpect).\nThis change adjust the diff parser to correctly handle this case. We\nsimply ignore such lines as they cannot induce a state change currently.","distinct":true,"url":"https://api.github.com/repos/d-e-s-o/git-blamediff/commits/a2e25ce31a2caf66e397c6e5ebfa30975525b542"}]}
{"actor":{"display_login":"d-e-s-o"}}