Git client and Gerrit compatibility

145 views
Skip to first unread message

venkatakrishna...@gmail.com

unread,
Jun 27, 2017, 7:06:40 AM6/27/17
to Repo and Gerrit Discussion
Hello,
We are running Gerrit - 2.13.8, Git - 1.9.1

We now need to use Git LFS and I did some basic testing with Git LFS Gerrit plugin - 2.13 stable, and git version 2.13.0(different version than *our* current production version)

One of my colleagues is concerned to upgrade Git client to 2.13.0, and perhaps in future to a much newer version via Ubuntu's Update center notifications.
His apprehension is that the newer version of Git might break Git-Gerrit compatibility,
more so when the updates happen automatically on a user's desktop(running Ubuntu), obviously it will be a disaster.

There are ways out to control what version of Git client is installed on users' desktops, even with updates. But,
what I'm hoping to hear from you is some insight into the likelihood of a newer git client version breaking Gerrit

Our CI is linked to Gerrit. A review request triggers CI for the uploaded changeset, and when CI returns okay, the change goes to devel branche.

So, from a developer's point of view, unable to post a review/update a review will completely halt the development.
Could something like that happen at all with a newer version of Git!? (I doubt that, given what Gerrit as a tool is developed to do)

Yet, your feedback helps affirm my understanding, and potentially read and investigate more.
I hope I explained my problem. Your response is much appreciated.

thanks,
Venkat.

Dave Borowitz

unread,
Jun 27, 2017, 8:09:22 AM6/27/17
to venkatakrishna...@gmail.com, Repo and Gerrit Discussion
On Tue, Jun 27, 2017 at 6:20 AM, <venkatakrishna...@gmail.com> wrote:
Hello,
We are running Gerrit - 2.13.8, Git - 1.9.1

We now need to use Git LFS and I did some basic testing with Git LFS Gerrit plugin - 2.13 stable, and git version 2.13.0(different version than *our* current production version)

One of my colleagues is concerned to upgrade Git client to 2.13.0, and perhaps in future to a much newer version via Ubuntu's Update center notifications.
His apprehension is that the newer version of Git might break Git-Gerrit compatibility,
more so when the updates happen automatically on a user's desktop(running Ubuntu), obviously it will be a disaster.

There are ways out to control what version of Git client is installed on users' desktops, even with updates. But,
what I'm hoping to hear from you is some insight into the likelihood of a newer git client version breaking Gerrit

tl;dr no need to worry.

The only place where Git interacts with Gerrit is in the wire protocol when fetching and when pushing changes, and the chance of this breaking is basically zero. Core Git is very serious about preserving backwards compatibility in the wire protocol.

There is some discussion in the Git community about designing "version 2" of the wire protocol that would be backwards incompatible, and it's possible that this protocol could exist in the client before the Gerrit server gains support for it. But client support for v1 would remain for several years, if not forever. Plus, some of the primary motivations behind v2 of the protocol (e.g. reducing ref advertisement noise) are directly driven by the way that Gerrit uses the wire protocol, so the Gerrit project would have a strong incentive to implement support for v2 sooner rather than later. I think it's safe to say that the latest stable Gerrit release would have support for v2 long before support for v1 would ever be dropped from the client.

There is of course still the possibility that new Git versions have bugs in the wire protocol, but those are rare, and as I said before, upstream cares very much about backwards compatibility so they would strive to fix those bugs ASAP.
 

Our CI is linked to Gerrit. A review request triggers CI for the uploaded changeset, and when CI returns okay, the change goes to devel branche.

So, from a developer's point of view, unable to post a review/update a review will completely halt the development.
Could something like that happen at all with a newer version of Git!? (I doubt that, given what Gerrit as a tool is developed to do)

Yet, your feedback helps affirm my understanding, and potentially read and investigate more.
I hope I explained my problem. Your response is much appreciated.

thanks,
Venkat.

--
--
To unsubscribe, email repo-discuss+unsubscribe@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages