Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Missing tree/blob <hash> when trying to push

Hi,

good news:
I was able to reproduce the bug with a zip from Sascha containg a
gitblit server and a client repo. Pushing from client repo worked with
native-git client but failed with jgit client. When pushing with JGit
client the (Gitblit) server got the following exception:

2014-10-23 10:48:09 [INFO ] Started @5085ms
2014-10-23 10:48:31 [WARN ] Internal error during receive-pack
org.eclipse.jgit.errors.MissingObjectException: Missing tree
371502ae88cb91e4b872870f67ffd5f303783fe3
        at org.eclipse.jgit.transport.BaseReceivePack.checkConnectivity(BaseReceivePack.java:1060)
        at org.eclipse.jgit.transport.BaseReceivePack.receivePackAndCheckConnectivity(BaseReceivePack.java:819)
        at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:191)
        at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:160)
        at org.eclipse.jgit.http.server.ReceivePackServlet.doPost(ReceivePackServlet.java:187)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:237)
        at org.eclipse.jgit.http.server.ReceivePackServlet$Factory.doFilter(ReceivePackServlet.java:144)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235)
        at org.eclipse.jgit.http.server.RepositoryFilter.doFilter(RepositoryFilter.java:151)
        at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235)

But: when exchanging the JGit version included in Gitblit with the
latest release (3.5.0.201409260305) the push works with jgit and with
native git (gitblit contained originally jgit in version
3.3.1.201403241930). Seems to be a problem when a new JGit client
talks to an old JGit server. The code on server side which throws the
exception is

https://github.com/eclipse/jgit/blob/v3.3.1.201403241930-r/org.eclipse.jgit/src/org/eclipse/jgit/transport/BaseReceivePack.java#L1056-L1061

Basically the JGit server complains the the client has not sent all
needed objects. I'll inspect further.







Ciao
  Chris


Back to the top