git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] provide advance warning of some future pack default changes

From
Nicolas Pitre <nico@cam.org>
Date
Dec 17, 2007, 20:41 UTC
Message-ID
<alpine.LFD.0.999999.0712171517320.8467@xanadu.home>
In-Reply-To
<20071217200920.GB19816@mail.oracle.com>
On Mon, 17 Dec 2007, Joel Becker wrote:
Show 23 quoted lines
> On Fri, Dec 14, 2007 at 09:23:38PM -0500, Nicolas Pitre wrote:
> > On Fri, 14 Dec 2007, Joel Becker wrote:
> > > 	The relevant message is:
> > > 
> > > Message-ID: <7vveaindgp.fsf@gitster.siamese.dyndns.org>
> > > 
> > > See the paragraphs at the bottom.  The thread, started by me, begins
> > > with:
> > > 
> > > Message-ID: <20070910205429.GE27837@tasint.org>
> > 
> > OK.  From those emails Junio forwarded to me, I don't see any case for 
> > actual _corruptions_.  Git does indeed refuse to work with unknown pack 
> > index or unknown objects in a pack.  Really old versions were not overly 
> > clueful as to why they refused to work, but they should never corrupt a 
> > pack which, for all purposes, is always read-only anyway.
> 
> 	You may not see a case for actual corruptions, but my coworker
> updated his tree on a box with 1.5.x, then tried to work on a box with
> 1.4.x (I think 1.4.2 back then), and ended up with a tree that was
> unusable.  He had to re-clone, and I think he got lucky recovering
> pending changes (probably using 1.5.x on the branches with the changes,
> as master was what got broken).
I still claim that there wasn't any corruptions.

Just for fun, just edit some document with Microsoft Office 95, then open the same document with Office 2007 and save it with default settings. Now try to open it back with Office 95. It won't work. Does that mean that the document got corrupted?

Show 5 quoted lines
> 	My point is not that change is always bad, but that we should
> really look forward to what we're doing, and that "it's in the release
> notes" is not sufficient if an older git gives an incomprehensible error
> or a silent problem.  I was responding to the cavalier statement "well,
> it's in the release notes, so don't worry about older versions".
Your allegation of corruptions is cavalier just as well.

I'm telling you that there won't be any such corruption. Just like in the M$ Office case, it is expected that newer versions make data unusable by older versions at some point -- that's the inevitable side effect of progress.

And we cannot always anticipate what kind of incompatibility will be worth making in the future, so it is hard to come with proper error messages in all cases today.

Recent enough Git versions do suggest upgrading when they refuse to access repositories though, and later Git versions can be configured to remain compatible with old Git versions. And we also document it.

And when you still cannot figure it out on your own, then there is that free support available on a public mailing list, and even an IRC channel.

So I don't see how we could do better in that regard. Carving the repository format in stone to keep ancient versions working forever is _not_ a solution.

Nicolas
Previous: Joel BeckerNext: Joel Becker
Message 32 of 64 in “v1.5.4 plans”
  1. Junio C HamanoDec 2, 2007
  2. Jakub NarebskiDec 2, 2007
  3. Junio C HamanoDec 2, 2007
  4. David SymondsDec 2, 2007
  5. Junio C HamanoDec 3, 2007
  6. Many things pushed out to 'master'Junio C Hamano, Dec 3, 2007
  7. Johannes SchindelinDec 3, 2007
  8. Junio C HamanoDec 3, 2007
  9. Johannes SchindelinDec 3, 2007
  10. Junio C HamanoDec 3, 2007
  11. fast-export: rename the signed tag mode 'ignore' to 'verbatim'Johannes Schindelin, Dec 3, 2007
  12. Johannes SchindelinDec 3, 2007
  13. Fix quote_path when called with negative length.Pierre Habouzit, Dec 3, 2007
  14. Jeff KingDec 3, 2007
  15. Nicolas PitreDec 3, 2007
  16. Junio C HamanoDec 3, 2007
  17. provide advance warning of some future pack default changesNicolas Pitre, Dec 14, 2007
  18. Junio C HamanoDec 14, 2007
  19. Nicolas PitreDec 14, 2007
  20. Jakub NarebskiDec 14, 2007
  21. Nicolas PitreDec 14, 2007
  22. Joel BeckerDec 14, 2007
  23. Nicolas PitreDec 14, 2007
  24. Joel BeckerDec 14, 2007
  25. Nicolas PitreDec 14, 2007
  26. Joel BeckerDec 15, 2007
  27. Nicolas PitreDec 15, 2007
  28. Johannes SchindelinDec 15, 2007
  29. Junio C HamanoDec 15, 2007
  30. Nicolas PitreDec 15, 2007
  31. Joel BeckerDec 17, 2007
  32. Nicolas PitreDec 17, 2007
  33. Joel BeckerDec 17, 2007
  34. J. Bruce FieldsDec 17, 2007
  35. Nicolas PitreDec 17, 2007
  36. J. Bruce FieldsDec 17, 2007
  37. Nicolas PitreDec 17, 2007
  38. Junio C HamanoDec 17, 2007
  39. J. Bruce FieldsDec 17, 2007
  40. Junio C HamanoDec 17, 2007
  41. J. Bruce FieldsDec 18, 2007
  42. Nicolas PitreDec 17, 2007
  43. Junio C HamanoDec 17, 2007
  44. Nicolas PitreDec 17, 2007
  45. Junio C HamanoDec 18, 2007
  46. Mark FashehDec 18, 2007
  47. Nicolas PitreDec 18, 2007
  48. Martin LanghoffDec 18, 2007
  49. Nicolas PitreDec 18, 2007
  50. Junio C HamanoDec 18, 2007
  51. Jakub NarebskiDec 18, 2007
  52. Johannes SchindelinDec 18, 2007
  53. Nicolas PitreDec 18, 2007
  54. Jeff KingDec 18, 2007
  55. Johannes SchindelinDec 18, 2007
  56. Jeff KingDec 18, 2007
  57. Johannes SchindelinDec 18, 2007
  58. Jeff KingDec 18, 2007
  59. Nicolas PitreDec 18, 2007
  60. Jakub NarebskiDec 18, 2007
  61. Junio C HamanoDec 18, 2007
  62. Mark FashehDec 18, 2007
  63. Nicolas PitreDec 18, 2007
  64. RussellDec 4, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.