> Mmm, this may have to do with a
> git reset --soft HEAD^
>
> But i thought reset --soft just "Does not touch the index file nor the
> working tree at all" (from kernel.org)
I do not see anything surprising, and the above quoted specification
explains what you are seeing perfectly well.
You had this ancestry (B = "I2S out from")
B HEAD
/
---o---A
And then you made some changes and stashed:
C
/ \
HEAD B---D stash
/
---o---o---A
and you rewound with "reset --soft HEAD^" to A (= "Began the TLI/HWL"):
C
/ \
B---D stash
/
---o---o---A HEAD
At this point after "reset --soft", your HEAD pointer points at A, but
your tree is still at the state of B exactly because you told "reset" not
to modify your index and the work tree.
Then you built something on top, *starting from the state "reset --soft"
left you*.
C
/ \
B---D stash
/
---o---o---A---X HEAD
You may have edited the files with your editor, adding and deleting lines,
recreating what you thought you did between B and D, but you started that
change from the state of B, and committed the result as X.
Of course diff between A and X will contain what you kept when you did
"reset --soft HEAD^", i.e. the diff between A and B, as well as the change
you did by hand, reproducing the change between B and D.
By the way, don't top post.