Re: upgrading GIT from version 1.7.0.4 to 1.7.6.1.
- From
Jeff King <peff@peff.net>
- Date
- Sep 19, 2011, 19:00 UTC
- Message-ID
- <20110919190023.GC26115@sigill.intra.peff.net>
- In-Reply-To
- <4E773A71.6020905@op5.se>
On Mon, Sep 19, 2011 at 02:49:53PM +0200, Andreas Ericsson wrote:
Show 16 quoted lines
> On 09/19/2011 02:30 PM, Mikaël wrote: > > > > 1- Is it possible to have two GIT installations pointing on the same > > repositories? > > > > The core structure and layout of a git repository hasn't changed > since may 2005, so it should work just fine provided you use any > git version that actually has a version number. > > We've upgraded in a hodge-podge fashion at $dayjob. One of our > servers is still running 1.4.something. We've never even come close > to anything resembling a problem. It's actually a bit weird, since > we started using git in late 2005 and it's so far been the most > reliable and backwards-compatible piece of software we have in the > company pretty much ever since.
This is not completely true. Any two versions should be able to interoperate over the network using the git:// protocol. However, the disk format has changed slightly over time.
Since v1.6.0 (August 2008), git defaults to using delta base offsets in packfiles and version 2 of the pack index format. These features are not understood by versions before v1.5.2 (May 2007) or v1.4.4.5 (July 2008). A very old git accessing those repositories directly on disk (or by a dumb protocol like rsync or non-smart http) would have problems[1].
So it has happened[2], but it's important to note that:
1. We waited a year to flip the default for the code supporting it to
become more pervasive. 2. The switch happened on a major version boundary (1.5 -> 1.6),
was already supported by versions in the prior major series (1.5),
and we released a maintenance version for the series before that
(1.4.4.x). 3. The change, along with the affected versions, was mentioned
prominently in the 1.6.0 release notes.So no, I wouldn't expect any disk format issues moving from v1.7.0.4 to v1.7.6.1. But it never hurts to read the release notes if you're unsure.
-Peff
[1] I do very occasionally run into this while bisecting some ancient
code on a modern repository.[2] I suspect a similar thing happened with turning on packed refs
(around the v1.4.4 era?), but I didn't dig around for details.