Another issue with git 1.8:
$ git push
error: dst ref refs/heads/master receives from more than one src.
error: failed to push some refs to \'gitosis@xxx.xx:xxx.
Following what is explained in this git old patch (2007!)
Some refs go stale, e.g. when the forkee rebased and lost some objects needed by the fork.
The quick & dirty way to deal with those refs is to delete them and push them again.However,
git-push
first would first fetch the current commit name for the ref, would receive a null sha1 since the ref does not point to a valid object, then tellreceive-pack
that it should delete the ref with this commit name.
delete_ref()
would be subsequently be called, and check thatresolve_ref()
(which does not check for validity of the object) returns the same commit name. Which would fail.
refs/heads/refs/heads/master
looks like a branch improperly named "refs/heads/master" (using namespaces for defining hierachical branch name), and points to nothing.
Deleting it was the right move.