From: david@lang.hm
To: Jeff King <peff@peff.net>
Cc: Heikki Orsila <shdl@zakalwe.fi>,
Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org
Subject: Re: disallowing push to currently checked-out branch
Date: Sun, 15 Feb 2009 21:55:24 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.1.10.0902152143430.14911@asgard.lang.hm> (raw)
In-Reply-To: <20090216043708.GB12986@coredump.intra.peff.net>
On Sun, 15 Feb 2009, Jeff King wrote:
> On Sun, Feb 15, 2009 at 09:18:47PM -0800, david@lang.hm wrote:
>
>>> So people doing major version upgrades of their OS don't need to read
>>> release notes or re-test behavior?
>>
>> when was the last time you read the release notes for an entire distro?
>
> Since you ask, I track Debian unstable and I read the release notes
> (NEWS.Debian) for every package that I upgrade, and skim the changelogs
> for perhaps half.
>
> But yes, I realize that is not common; I don't expect that every user
> reads every release note.
>
> My point is that things _are_ going to change in a major version OS
> upgrade. It is up to the user to make the tradeoff of how much time they
> want to spend researching those changes versus the likelihood and
> severity of breakage. If I have a mission critical system running git,
> I'm going to read git's release notes. If I don't, then I will probably
> accept that something could break, and fix it if it does.
in that case there's no reason for any warning time. just change the
default and put a comment about it in the changelog.
that worked well for the dashed names didn't it.
>> and it's not a matter of reading the release notes. it's a matter of them
>> running a version that gives them a warning before you feed them a version
>> that will cause their existing stuff to fail.
>
> The warning is not a panacea:
>
> 1. It might actually cause breakage. Less likely than a straight
> change in behavior, but still possible.
>
> 2. Users don't necessarily see the warning. By definition, it is not
> changing the behavior. So unless they are examining the output
> (which might not be the case for an unattended system), it can go
> unnoticed.
>
> So all of the problems you are talking about are still possible even
> with an extremely long change cycle.
>
>> I recognise that not all software is concerned about backwards
>> compatibility, but if git wasn't concerned with backwards compatibility
>> and a graceful upgrade process, this thread wouldn't exist.
>
> I think git is much better about backwards compatibility than most
> packages I have seen. But there is a cost to maintaining it completely
> and forever, in that you are either hampered in what you can do (i.e.,
> there are enhancements you would like to make but can't) or you pay an
> awful burden in development cost maintaining two diverging codebases.
>
> Based on the numbers in your last email, you seem to be advocating a
> 9-15 year lag on making any behavior changes in git. I'm sorry, but I
> have no interest in waiting that long to see enhancements I work on in
> git make it into a released version.
two cycles of changes, not three, so 6-10 years for changes that break
existing bahavior without a _really_ pressing reason. so new functions,
new commands, new flags don't have to wait at all. it's only if you want
to change something that will cause grief for users if they get a new
version and run their existing tools against it.
> I think Junio is doing a fine job at dealing with backwards
> compatibility and keeping things moving at a reasonable pace. If you
> think it should go slower, you are certainly welcome to fork and release
> an "ultra-stable" version of git that reverts any backwards incompatible
> changes while keeping up with other new features.
I am not interested in forking git. but I am saying that a backwards
incompatible change had better _really_ be worth it, and not just be worth
it for the people who live an breath git, but for the users as well (this
is a test that the dashed name elimination failed. in spite of a volcal
few saying that all the commands in the path were causing problems, most
people couldn't understand why the git people wanted to remove them)
for anything less than a fairly critical bug, if it's in a public
interface you really don't want to change it (in part becouse the
timeframe to properly depriciate it, with warnings, needs to happen on
timescales measured in years)
and I agree that Junio is doing a good job with this. he's the one who
started this thread to discuss the possible changes after all.
David Lang
> -Peff
>
next prev parent reply other threads:[~2009-02-16 4:51 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-15 21:31 [RFC - draft] List of proposed future changes that are backward incompatible Junio C Hamano
2009-02-15 21:48 ` Junio C Hamano
2009-02-15 22:56 ` Jakub Narebski
2009-02-15 23:39 ` Junio C Hamano
2009-02-15 23:20 ` Heikki Orsila
2009-02-16 0:04 ` disallowing push to currently checked-out branch Jeff King
2009-02-16 1:33 ` david
2009-02-16 1:47 ` david
2009-02-16 1:30 ` Julian Phillips
2009-02-16 4:01 ` Jeff King
2009-02-16 8:33 ` Daniel Barkalow
2009-02-16 8:51 ` Junio C Hamano
2009-02-16 10:17 ` Sergio Callegari
2009-02-16 13:58 ` Jeff King
2009-02-16 17:13 ` Sergio Callegari
2009-02-16 17:33 ` Matthieu Moy
2009-02-16 17:43 ` Johannes Schindelin
2009-02-16 18:48 ` Jay Soffian
2009-02-16 20:02 ` Johannes Schindelin
2009-02-16 21:12 ` Jay Soffian
2009-02-16 21:15 ` Johannes Schindelin
2009-02-16 22:28 ` Jay Soffian
2009-02-16 22:52 ` Jeff King
2009-02-17 5:53 ` Jay Soffian
2009-02-17 11:28 ` PUSH_HEAD, was " Johannes Schindelin
2009-02-17 17:29 ` Jay Soffian
2009-02-17 19:48 ` Jeff King
2009-02-17 22:20 ` Junio C Hamano
2009-02-17 22:42 ` Jay Soffian
2009-02-17 22:54 ` Johannes Schindelin
2009-02-16 19:24 ` Sergio Callegari
2009-02-16 20:09 ` Johannes Schindelin
2009-02-16 21:42 ` Jay Soffian
2009-02-17 0:07 ` Sergio Callegari
2009-02-17 0:18 ` Johannes Schindelin
2009-02-17 0:41 ` Sergio Callegari
2009-02-17 0:56 ` Johannes Schindelin
2009-02-17 1:18 ` Junio C Hamano
2009-02-17 0:57 ` Junio C Hamano
2009-02-16 21:43 ` Junio C Hamano
2009-02-16 22:43 ` Jeff King
2009-02-16 23:23 ` Junio C Hamano
2009-02-17 0:23 ` Jeff King
2009-02-17 0:43 ` Junio C Hamano
2009-02-17 1:29 ` Jeff King
2009-02-16 3:50 ` Jeff King
2009-02-16 5:05 ` david
2009-02-16 4:05 ` Jeff King
2009-02-16 5:18 ` david
2009-02-16 4:37 ` Jeff King
2009-02-16 5:55 ` david [this message]
2009-02-16 5:06 ` Jeff King
2009-02-16 10:53 ` Johannes Schindelin
2009-02-16 10:50 ` dashed commands, was " Johannes Schindelin
2009-02-15 23:53 ` [RFC - draft] List of proposed future changes that are backward incompatible david
2009-02-15 23:01 ` Johannes Schindelin
2009-02-15 23:36 ` Junio C Hamano
2009-02-16 0:14 ` david
2009-02-15 23:18 ` Johannes Schindelin
2009-02-16 0:38 ` david
2009-02-16 0:29 ` Junio C Hamano
2009-02-16 10:23 ` Johannes Schindelin
2009-02-16 15:33 ` david
2009-02-16 14:40 ` Sverre Rabbelier
2009-02-16 0:02 ` disallowing push to currently checked-out branch Jeff King
2009-02-16 10:06 ` Sergio Callegari
2009-02-15 23:01 ` [RFC - draft] List of proposed future changes that are backward incompatible Jakub Narebski
2009-02-15 23:15 ` Johannes Schindelin
2009-02-15 23:38 ` Jakub Narebski
2009-02-16 0:35 ` david
2009-02-16 0:07 ` send-email sending shallow threads by default Jeff King
2009-02-16 0:09 ` Pieter de Bie
2009-02-16 2:43 ` Jeff King
2009-02-16 2:55 ` Brian Gernhardt
2009-02-16 9:56 ` Wincent Colaiuta
2009-02-16 7:55 ` SZEDER Gábor
2009-02-16 10:38 ` Martin Mares
2009-02-17 8:34 ` Andreas Ericsson
2009-02-17 9:06 ` Martin Mares
2009-02-17 19:28 ` Jeff King
2009-02-20 3:03 ` Eric W. Biederman
2009-02-20 3:26 ` Jeff King
2009-02-20 4:13 ` Eric W. Biederman
2009-02-17 8:30 ` Andreas Ericsson
2009-02-16 1:27 ` [RFC - draft] List of proposed future changes that are backward incompatible Sitaram Chamarty
2009-02-16 8:04 ` Björn Steinbrink
2009-02-16 8:49 ` Junio C Hamano
2009-02-16 9:07 ` Björn Steinbrink
2009-02-16 2:42 ` [RFC - draft #2] " Junio C Hamano
2009-02-16 3:20 ` Jeff King
2009-02-16 21:10 ` Jakub Narebski
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=alpine.DEB.1.10.0902152143430.14911@asgard.lang.hm \
--to=david@lang.hm \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=shdl@zakalwe.fi \
/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).