git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joel Becker <Joel.Becker@oracle.com>
To: Nicolas Pitre <nico@cam.org>
Cc: Jakub Narebski <jnareb@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org
Subject: Re: [PATCH] provide advance warning of some future pack default changes
Date: Mon, 17 Dec 2007 13:13:18 -0800	[thread overview]
Message-ID: <20071217211317.GC19816@mail.oracle.com> (raw)
In-Reply-To: <alpine.LFD.0.999999.0712171517320.8467@xanadu.home>

On Mon, Dec 17, 2007 at 03:41:24PM -0500, Nicolas Pitre wrote:
> On Mon, 17 Dec 2007, Joel Becker wrote:
> > 	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?

	No, but when you try to re-open it with Office 2007, you expect
it to work, don't you?  His master was messed up even for 1.5.x.  It was
now months ago, so I don't quite remember all the details, but I think
you'd agree that "1.5.x no longer works" is not correct.

> 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.

	Sure, we're not complaining about that.  We complain some about
the fast pace (at the time he had his problem, 1.4 installs were not
unusual, and Junio's response suggested that "I use NFS" wasn't strongly
considered as a use case), but more we complain about the obscurity of
the reason.  If it's obvious what happened (not the specifics, just
"please upgrade" or "repository format changed" or something), the user
moves along.

> 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.

	How hard is it?  We have core.repositoryformatversion.  We
undoubtably have headers on our files.  As an example, an older version
should be able to ascertain 1) this is a pack file 2) I don't know how
to read it.  Thus, it should always be able to tell the user as such.
This is different from reporting "invalid pack file" or "corrupt pack
file", or "garbage in tree".  Filesystems, as an example, set
compatibility bits or version levels.  When an old kernel tries to mount
it, it does not say "corrupt filesystem", it says "this filesystem has a
feature I don't understand, I'm going to be nice and not do anything,
please upgrade".  This is clear, even though the older kernel doesn't
have any specifics about what the new feature is.

> 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.

	Once again, we're not asking for that.  We're asking that you
think ahead to what can change, and plan for it, so you can tell the
user.  If the user has a clear idea where to go next, the can solve the
rest themselves.
	Look, not everyone reads this mailing list.  No one outside of
this list reads the Release Notes.  They get their upgrade via yum or
apt-get, along with 100 other packages.  You can't assume that 3 months
of feature discussion here is going to be known to your average user.

Joel

-- 

"Vote early and vote often." 
        - Al Capone

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127

  reply	other threads:[~2007-12-17 21:24 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-02 22:04 v1.5.4 plans Junio C Hamano
2007-12-02 22:33 ` Jakub Narebski
2007-12-02 22:41   ` Junio C Hamano
2007-12-02 23:39 ` David Symonds
2007-12-03  2:32   ` Junio C Hamano
2007-12-03 10:00     ` Many things pushed out to 'master' Junio C Hamano
2007-12-03 11:12       ` Johannes Schindelin
2007-12-03 18:19         ` Junio C Hamano
2007-12-03 18:39           ` Johannes Schindelin
2007-12-03 20:58             ` Junio C Hamano
2007-12-03 22:44               ` [PATCH] fast-export: rename the signed tag mode 'ignore' to 'verbatim' Johannes Schindelin
2007-12-03 22:56                 ` Johannes Schindelin
2007-12-03  9:06   ` [PATCH] Fix quote_path when called with negative length Pierre Habouzit
2007-12-03 17:18     ` Jeff King
2007-12-03 18:06 ` v1.5.4 plans Nicolas Pitre
2007-12-03 21:23   ` Junio C Hamano
2007-12-14  3:32     ` [PATCH] provide advance warning of some future pack default changes Nicolas Pitre
2007-12-14  5:19       ` Junio C Hamano
2007-12-14 13:14         ` Nicolas Pitre
2007-12-14 12:45       ` Jakub Narebski
2007-12-14 13:38         ` Nicolas Pitre
2007-12-14 21:52           ` Joel Becker
2007-12-14 22:34             ` Nicolas Pitre
2007-12-14 22:39               ` Joel Becker
2007-12-14 22:46                 ` Nicolas Pitre
2007-12-15  0:42                   ` Joel Becker
2007-12-15  1:08                     ` Nicolas Pitre
2007-12-15  1:21                       ` Johannes Schindelin
2007-12-15  1:43                       ` Junio C Hamano
2007-12-15  2:23                     ` Nicolas Pitre
2007-12-17 20:09                       ` Joel Becker
2007-12-17 20:41                         ` Nicolas Pitre
2007-12-17 21:13                           ` Joel Becker [this message]
2007-12-17 21:30                             ` J. Bruce Fields
2007-12-17 21:52                               ` Nicolas Pitre
2007-12-17 21:57                                 ` J. Bruce Fields
2007-12-17 22:15                                   ` Nicolas Pitre
2007-12-17 22:17                                   ` Junio C Hamano
2007-12-17 22:30                                     ` J. Bruce Fields
2007-12-17 22:55                                       ` Junio C Hamano
2007-12-18  0:04                                         ` J. Bruce Fields
2007-12-17 23:13                                     ` Nicolas Pitre
2007-12-17 21:16                           ` Junio C Hamano
2007-12-17 21:45                             ` Nicolas Pitre
2007-12-18  0:41                               ` Junio C Hamano
2007-12-18  2:23                                 ` Mark Fasheh
2007-12-18  3:23                                 ` Nicolas Pitre
2007-12-18  3:52                                   ` Martin Langhoff
2007-12-18  4:09                                     ` Nicolas Pitre
2007-12-18  5:01                                     ` Junio C Hamano
2007-12-18  9:24                                       ` Jakub Narebski
2007-12-18 12:03                                         ` Johannes Schindelin
2007-12-18 14:16                                         ` Nicolas Pitre
2007-12-18 11:11                                       ` Jeff King
2007-12-18 12:06                                         ` Johannes Schindelin
2007-12-18 12:48                                           ` Jeff King
2007-12-18 13:30                                             ` Johannes Schindelin
2007-12-18 19:30                                               ` Jeff King
2007-12-18 20:12                                                 ` Nicolas Pitre
2007-12-18 13:47                                           ` Jakub Narebski
2007-12-18 20:24                                         ` Junio C Hamano
2007-12-18  2:15                           ` Mark Fasheh
2007-12-18  3:34                             ` Nicolas Pitre
2007-12-04  0:48 ` v1.5.4 plans Russell
  -- strict thread matches above, loose matches on Subject: below --
2007-12-14 11:28 [PATCH] provide advance warning of some future pack default changes linux
2007-12-14 15:20 ` Nicolas Pitre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071217211317.GC19816@mail.oracle.com \
    --to=joel.becker@oracle.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jnareb@gmail.com \
    --cc=nico@cam.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).