You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
remote.push might fail with BadName after successfully pushing #461
When pushing to a remote, the creation of PushInfo might fail, while the actual push was successful.
I got this on a forced update. git reports back with the old_sha...new_sha pattern, but since the remote was not fetched before, apparently the object database doesn't know the old (short) SHA and therefore fails to expand it for PushInfo instantiation, raising BadName.
From my point of view, this should either not fail at all (since this is kind of a requirement for a push, that git itself doesn't rely on) or provide a more useful exception. If I call push with a refspec like +local_branch:remote_branch, a BadName(5OM35H4) doesn't tell me, whether I need to deal with the exception or ignore it. At least I need to know, whether it refers to the local commit object (which should be known) or the remote one.
Edit: Forgot to mention: This happened to me in a test only after upgrading from gitpython 2.0.2 to 2.0.5
It's about what git reports to be the "old SHA" of the remote, I push to. And this old one wasn't known to the repo I push from without fetching before.
I'll extract a snippet from my scenario for reproducing.
Activity
Byron commentedon Jun 13, 2016
Thanks for the description of the issue.
Would you have way to help me reproduce it ?
For now I can't imaging how anything that is pushed to a remote manages to not exist in the repository that it is pushed from.
bpoldrack commentedon Jun 15, 2016
It's about what git reports to be the "old SHA" of the remote, I push to. And this old one wasn't known to the repo I push from without fetching before.
I'll extract a snippet from my scenario for reproducing.
Byron commentedon Jun 20, 2016
Oh, thanks for the clarification. I believe to understand the issue now.
fix(remote): lazy PushInfo.old_commit initialization