"Object not found" running abra recipe sync gitea
#433
Notifications
Total Time Spent: 55 minutes
Due Date
decentral1se
55 minutes
No due date set.
Dependencies
No dependencies set.
Reference: toolshed/organising#433
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Steps to reproduce:
abra recipe upgrade gitea && abra recipe sync giteaExpected:
Actual:
I have the same issue with some recipes . I could trace it down to the function
repo.TagObject(ref.Hash())9e05000476/cli/recipe/sync.go (L119). Anyhow this function can not find some commits by the given hash. I printed the failing commit hash and I could manually check out into this commit without any problems.At the moment I have to increase the version number manually for some recipes.
Maybe anything in the repos is broken and abra is not able to catch it.
Thanks for looking @moritz. I think it's failing to read the tags or? I think we might just need to make sure we are updating the recipe / fetching all tags before running this iterator against commits which pulls out a tag version number and does a compare?
I think that's not the problem the tags are updated inside the repo and abra can figure out the commit hash for all the given tags but anyhow the function
repo.TagObject(ref.Hash())can not find the commit by the given hash.I agree @moritz, when I hit this issue I was able to run the equivalent git commands successfully, so I'm unsure of the cause.
Also happening on
custom-htmlI'm picking this one up.
Upgraded to latest
go-gitand there's a new error message. Which helped me remember that this bug has to do with lightweight tags vs. annotated tags (wtf are those you ask? great question! here's the tldr: link) 😵💫The original stack trace (
0.7.0-beta):On latest head, with latest deps:
Where
Tag at commit ff1b271545ee515c2719b7b3dfb484ea03f83551 is unannotated or otherwise broken. Please fix it.was an artifact of the time we implemented the tag handling and learned thatgo-gitmakes a difference between lightweight/annotated and decided that we have no idea how to resolve this and we hope everyone annotates their tags 😬 /cc @knoflookI was able to check out that commit (and other which it complained about) and run the following in the
gitearecipe directory. Then I could sync again successfully withabra.One was a tag I made and another by @javielico.
From this SO answer, I can confirm:
This is a useful command to checking what tags are borked in a recipe.
What is confusing af is that
ff1b271545ee515c2719b7b3dfb484ea03f83551(the hash in theabraerror message) doesn't even appear in thegit logoutput! But you cangit checkout ff1b271545ee515c2719b7b3dfb484ea03f83551which points tof35689989c0b57575b8362e1252476d8133dc961but somehow without the tag... 🤯 I guess that is the source of the issue, how Git is internally handling the tags types. I don't think we can code around this...In practice, this means, you always need to pass
git tag -a ...and if you don't, sadness like this.@3wordchant @moritz do you have any ideas where go from here? My thoughts:
abrachokes on itSounds A+++
6a8ddfdb6b4f22228aab