Hi, On Thu, Feb 14, 2019 at 11:35 AM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > > Hello, > > I am not sure if it is a bug or not, but the output I got wasn't what > I was looking for. And so looking for some help. I was looking to send > pull request [1] to PM maintainer and was generating the request > against his tree [2], which already has kernel upto v5.0-rc6 merged in > it. > > These are my local branches: > > Branch A: > > 55538fbc79e9 cpufreq: qcom: Read voltage LUT and populate OPP > f896d06665ec cpufreq: qcom-hw: Move to device_initcall > 1c7fc5cbc339 (tag: v5.0-rc2) Linux 5.0-rc2 > > Branch B: > > a4f342b9607d PM / OPP: Introduce a power estimation helper > 285881b51eb5 PM / OPP: Remove unused parameter of _generic_set_opp_clk_only() > bfeffd155283 (tag: v5.0-rc1) Linux 5.0-rc1 > > pm/linux-next branch already has Branch B merged in it (with an > earlier pull request). > > Branch C (7c139d3f0f99) is a merge of Branch A and Branch B. When I > try to generate diff-stat with: > > git diff -M --stat pm/linux-next..7c139d3f0f99 > > It shows me the diffstat between v5.0-rc1..v5.0-rc2 as well. > > If I do > > git diff -M --stat v5.0-rc2..7c139d3f0f99 > > it shows only the files that have changed in patches in branch A and > B. > > Since pm/linux-next already has Branch B and all the rcs upto rc6, I > was expecting the output of first diffstat to be similar to second one > (without branch B stuff). Is the expectation incorrect ? I think you're getting tripped up by double-dot vs triple-dot with diff being different than log: `git diff D..E` means the same thing as `git diff D E`, i.e. diff the two commits D and E. `git diff D...E` means the same thing as `git diff $(git merge-base D E) E` There are some people for whom this state of affairs makes sense. I am not one of them, and I suspect you aren't either. The arguments made by those who feel this makes sense seem reasonable to me in the moment when they present them, but I have never been able to remember these arguments longer than briefly. It just doesn't stick with me. The only thing I seem to be able to retain is the following: "git diff D..E is totally useless and should be an error because (1) it doesn't do what I expect and (2) for folks that want the behavior currently gotten with that syntax can instead just use a space instead of a double dot." Hope that helps, Elijah