go-git icon indicating copy to clipboard operation
go-git copied to clipboard

Equivalent of `git diff --cached`

Open mediocregopher opened this issue 5 years ago • 1 comments

So to do a "normal" diff I would get my two different *object.Tree instances and use object.DiffTree. However with staged changes I'm unsure of how to get a tree, if it's possible at all. It seems that *index.Index only provides a list of files changed, with no way to get a tree. Is it possible to retrieve a diff/patch describing the changes which have been added in the workspace compared to HEAD (or some other arbitrary commit)?

mediocregopher avatar Jan 14 '20 23:01 mediocregopher

It seems that the buildTreeHelper's BuildTree method mostly does what I want here. Perhaps the buildTreeHelper could be exposed in some way? Or if not the helper directly, having a method on Worktree or Index that called it would be super helpful.

mediocregopher avatar Jan 18 '20 19:01 mediocregopher