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-pushfirst 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-packthat 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.