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

This is a good tip, thank you.  The difference in userids is something that I hadn't considered.  I think that we all
have identical access rights, but it is a good thing to test.

Thanks,
-Andrew

On 14-10-17 07:48 AM, Christian Halstrick wrote:
> I wanted to know which git server you are using: gerrit, gitblit, "git
> daemon" ... I learned you use gerrit. The git
> version "1.7.9.5" is I think not relevant. Gerrit is pure java and
> doesn't use native git (unless you have configured
> something special). But since you are using gerrit this gives some hints:
> 
> During push client and server communicate about what should be pushed.
> The server tells the client which refs
> he knows and on what IDs they point so the client can produce a
> packfile which doesn't contain objects which the
> server already knows. But: if the server is gerrit he does additional
> checks. E.g. the server said he knows X. The client
> wants to send Y and Y refers to X. They find out that the only object
> which has to be sent to the server is Y (not X).
> But what if X is something which the current user is not allowed to
> see (by gerrit access rights). Maybe Y points to an
> object X and X is only availabe on branch "topSecret". The user who
> pushes is not allowed to read objects from
> the "topSecret" branch. Means: gerrit checks that all objects which
> are referred by the objects beeing transported
> are also accessible by the user.
> 
> Long story short: It does play a role which user pushes. Maybe you can
> push because your access rights on gerrit
> allow you to see X. But maybe your colleague is  not allowed to push
> because he is referring to objects he's not
> allowed to see. And for your colleague this may lead to exactly such
> an "missing object ... " exception.
> 
> So if it's not too complicated would it possible to let the user try
> that from your machine to rule out Platform dependency.
> He should clone on your machine into a new repo amend one commit and
> push with his credentials. Hopefully
> that fails also.
> 
> Ciao
>   Chris
> 
> 
> On Fri, Oct 17, 2014 at 1:17 PM, Andrew Eidsness <eclipse@xxxxxxxxxx> wrote:
>> Thanks for the quick reply!
>>
>> I'm not sure what you mean by "kind of git server".  Here is a list of things that it could mean, but let me know if you
>> mean something different.  Starting from the bottom, it is a Xeon running Ubuntu 12.04.  It has git version 1.7.9.5 and
>> Gerrit version 2.8.6.1.  We use Gerrit as the interface to git, all pulls are from a Gerrit-based URL and all pushes are
>> to changesets created in Gerrit.  We're both using the same version of Eclipse and we specifically checked our EGit and
>> JGit versions to confirm they were identical.
>>
>> His use case isn't very involved, and I've tried the same steps on my machine.  It is something that I do frequently
>> without problems.  His steps are really just "amend a changeset and try to push again".
>>
>> One other thing that I forgot to add to the initial description.  He sees alot of "Unhandled loop" exceptions.  Is there
>> any way this could be related?  I could get the stack trace from him if needed.
>>
>> -Andrew
>>
>> On 14-10-17 07:06 AM, Christian Halstrick wrote:
>>> There have been a lot of mails regarding this. But since we are
>>> talking about traces and debug output from Sascha's closed source
>>> repository we couldn't talk about that on the public mailing list. But
>>> any input from other people facing the same problem is of course very
>>> helpful.
>>>
>>> Some questions around your case:
>>> - which kind of git server are you using
>>> - is it somehow possible that the user who always sees this problem
>>> can try his use case from your machine
>>>
>>> Ciao
>>>   Chris
>>>
>>
>> _______________________________________________
>> egit-dev mailing list
>> egit-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/egit-dev



Back to the top