On 6/26/22 1:53 AM, Oswald Buddenhagen wrote:
> On Sat, Jun 25, 2022 at 06:17:56PM -0600, Martin Fick wrote:
>> There are many ways to setup alternates, and I suspect that it takes
>> some expertise to come up with a strategy that matches your use case,
>> in particular for gc.
>>
> i like to think that i have that expertise. ;)
> also, i think i provided sufficient evidence that the setup was
> working at a pure git level.
I don't even see any assertions of this in the bug report, let alone
evidence of any operations that worked with pure git, did I miss them?
The assertion that it works in cgit and jgit are about different
operations, browsing (what does that mean for jgit?) than what is
claimed to not work in this bug report using Gerrit, pull and pushing?
I see no reproduction steps mentioned in that bug report, did I miss
them? There are no hints as to how the alternates are setup, or what is
trying to be achieved with the alternates setup. It sounds like you
believe you had the expertise to set this up right, and you may have.
Unfortunately, that was not very well communicated, and it was not
conveyed to me when I read that bug report yesterday. As a bug report
reader, it appeared that not very much was done to actually try and
communicate what the problem you encountered was, and that not much was
done to try and debug or resolve the issue.
So let me rephrase things without using the word "expertise". I do
strongly suggest that you be willing to file a comprehensive clear bug
report, and to follow through with good questions, if you do run into
issues if you want to use alternates (or any tool for that matter). :)
> the only hard requirement is that the alternate repo does not accept
> non-fast-forwards of any kind (incl. ref deletions), so no objects
> disappear. (on a non-bare repo, amends, rebases, and reflogs (incl.
> stashes) would complicate matters more.)
I have no idea what the statement above means, or is about?
>> We us alternates with Gerrit on our busiest repos and it works. We
>> have one of the largest multi-primary Gerrit sites in the world (and
>> it's on linux kernel repos), so this gets some serious use.
>>
> since when are you doing that?
We have likely been doing this since sometime around 2014.
> does the version chronology permit the conclusion that jgit was simply
> fixed since i ran into the issue?
That certainly could be, and we may have had to make a fix. Perusing
jgit quickly, I see
e4714a2a5faa2d5cc8c9b129f96296dc2d6d26f8 Prevent alternates loop
which was mine. We have a bit of a FrankenGerrit/JGit running, so my
recollection of any difficulties we ran into ~10 years ago may be low.
At the time we were not too scared to dig in to the jgit codebase to
make things work if it didn't. I do think we had to do that. My
recollection was that the code base for alternates was already pretty
good at that time, but it looks like it needed that one tweak.
> i can't recheck it without major effort, as i have no access to the
> site in question any more.
> vitaliy giving it a shot would certainly provide a useful datapoint,
> esp. for a simple mainline setup of gerrit (which i'm assuming his is,
> unlike yours).
I do believe that the jgit community has the expertise to fix any issues
in this area if he runs into any, so I certainly would encourage people
to try alternates with Gerrit,
-Martin