Closed alexisvisco closed 4 years ago
Attempt 2:
Regarding the source code of GetTree it is using EncodeObject
with plumbing.TreeObject
, changing to CommitObject
resolve to unsupported object type
error.
Attempt 3:
changing DecodeTree
with DecodeCommit
works but I didn't have a Tree which is my objective.
Solved solution is:
oldEncodeObject, err := repo.Storer.EncodedObject(plumbing.CommitObject, plumbing.NewHash("82381fd4160e109a64e0d37688eb67a600a37a24"))
if err != nil {
log.Fatal("can'tget old encode object: ", err)
}
newEncodeObject, err := repo.Storer.EncodedObject(plumbing.CommitObject, plumbing.NewHash("d70914c1c1c57bc07f0975760db125878cc675c7"))
if err != nil {
log.Fatal("can'tget new encode object: ", err)
}
old, _ := object.DecodeCommit(repo.Storer, oldEncodeObject)
new, _ := object.DecodeCommit(repo.Storer, newEncodeObject)
oldTree, _ := old.Tree()
newTree, _ := new.Tree()
changes, err := oldTree.Diff(newTree)
if err != nil {
log.Fatal(err)
}
Hello, I am wondering how to get tree changes from two commits hashes ?
Currently I am just doing this:
local git log output:
And the output of the program is:
[] object not found object not found <nil>
So the two first errors are fill with that, I don't understand at all how to use GetTree.
Someone can help me ?