On Fri, Mar 02, 2018 at 02:23:14PM -0500, Andrei Alexandrescu via Digitalmars-d wrote: [...] > But I don't have a simple method to ascribe the blame to a specific > PR. Is the only way to look at the date then look at the log? Thanks. > -- Andrei
This is how I usually do it: 1) Find the hash of the offending git commit, usually using git bisect or git blame. 2) git checkout master; git log --graph | less (In place of `less`, use any pager that has scrollback capability. Or leave out the `| less` if the default pager invoked by git has scrollback ability.) 3) Do a search for the commit's hash. Usually, this will be a commit buried somewhere inside a series of commits in the offending PR. 4) Scroll up until you find the commit that merged the PR. The commit message will contain the PR number. Note that this is why you need --graph in the call to git log, because otherwise commits from random PRs will be interspersed together and there will be no easy way to trace them. Using --graph will give you a visual cue as to which commits belong to the PR so that you can trace it to the merging point, and it also does a topological sort, which tends to cluster related commits together better than the default setting. There's probably a one-liner to do this, but I prefer using git log --graph because it also lets me see the context of the original commit and scroll around to see any other commits that might be relevant. T -- People walk. Computers run.