git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: merlyn@stonehenge.com (Randal L. Schwartz)
Cc: git@vger.kernel.org
Subject: Re: What's in git.git (stable)
Date: Fri, 22 Dec 2006 10:58:32 -0800	[thread overview]
Message-ID: <7vwt4jzrjb.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <86fyb7sv9f.fsf@blue.stonehenge.com> (Randal L. Schwartz's message of "22 Dec 2006 09:19:56 -0800")

merlyn@stonehenge.com (Randal L. Schwartz) writes:

>>>>>> "Randal" == Randal L Schwartz <merlyn@stonehenge.com> writes:
>>>>>> "Junio" == Junio C Hamano <junkio@cox.net> writes:
> Junio> git-pull: refuse default merge without branch.*.merge
>
> Randal> Argh.  How do I get back the old behavior?
> Randal> "git-pull origin" doesn't seem to be enough.
>
> Randal> You just broke a bunch of automated scripts for me.
>
> Ahh, it's "git-pull . origin".
>
> Maybe a bit more warning for non-upward-compatible changes though, please.
>
> Or maybe we should presume everything is non-upward compatible?  I didn't
> think a naked "git-pull" was that out of the ordinary.

Things are supposed to be upward compatible, but this round
until v1.5.0 some things may not be when it is justifiably an
improvement.  For example, we've already made 'separate remote'
not only the default but the only layout 'git clone' produces.
I cannot think of others offhand, but I am reasonably certain
there are others.  We need a "incompatible changes" list.

The tradtional "pull always merges the first set of branches"
rule, although I was actually very much in favor of it, was
something that was hated by everybody.

It was said that people had lot of trouble after doing "git pull
origin" without any refspecs ("git pull" without any argument
defaults to 'origin' which is backward compatible, if you do not
have branch.*.remote, so that form has the same issues), when on
a branch other than the 'master' branch.  "merges the same first
set of branches no matter which branch you are on" was the rule,
but people did not want to merge the ones they usually merge to
their 'master' but wanted some other branch merged.
"branch.*.merge" can be used to specify this, but if you do not
have need for this "merge different branches depending on which
branch I am on", you do not have to use it.  Without
"branch.*.merge" for the current branch, we are still backward
compatible and follow the "first set of branches" rule.

The real trouble is that some people further argued that pulling
without 'branch.*.merge' when you might not want to follow the
"first set of branches" rule might be a newbie mistake and
should be warned and forbidden.  The commit that broke you was
an attempt for that behaviour.  I think that newbie protection
intent is good, but the execution was obviously not.

What I have on 'master' has a little fixup to use 'first set of
branches' rule when the fetch gets only one branch without
complaining.  I am still not happy with that either, and at this
point I am not sure if there is a good compromise that does not
break existing setup while offering the newbie protection.

Possibilities:

 (1) Forget about that "protection" business.  If you do not
     want mistakes, use 'branch.*.merge' but otherwise we will
     continue to follow the good old "first set of branches"
     rule.

 (2) A slight variant of the above; do the "protection" only
     when 'branch.*.merge' is defined for _any_ of the branches,
     not just the current branch.

 (3) A further variant; do not do the above "protection" if the
     current branch is 'master' (this further makes 'master'
     special, which some people may hate).

  parent reply	other threads:[~2006-12-22 18:58 UTC|newest]

Thread overview: 262+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-22  9:25 What's in git.git (stable) Junio C Hamano
2006-12-22 17:15 ` Randal L. Schwartz
2006-12-22 17:19   ` Randal L. Schwartz
2006-12-22 18:09     ` Johannes Schindelin
2006-12-22 18:12       ` Randal L. Schwartz
2006-12-22 18:21         ` Randal L. Schwartz
2006-12-22 19:21         ` Johannes Schindelin
2006-12-22 20:13           ` Junio C Hamano
2006-12-22 20:44             ` Johannes Schindelin
2006-12-22 21:44               ` Junio C Hamano
2006-12-26 20:25                 ` Luben Tuikov
2006-12-26 23:54                   ` Junio C Hamano
2006-12-27  1:19                     ` Luben Tuikov
2006-12-27  2:14                       ` Junio C Hamano
2006-12-22 18:58     ` Junio C Hamano [this message]
2006-12-22 20:04       ` Jakub Narebski
2006-12-22 20:16         ` Junio C Hamano
2006-12-22 20:56           ` Jakub Narebski
2006-12-22 21:49             ` Junio C Hamano
2006-12-22 20:21 ` Quy Tonthat
  -- strict thread matches above, loose matches on Subject: below --
2008-07-21  7:09 Junio C Hamano
2008-04-09  6:51 [ANNOUNCE] GIT 1.5.5 Junio C Hamano
2008-04-09  9:44 ` What's in git.git (stable) Junio C Hamano
2008-04-14  7:00   ` Junio C Hamano
2008-04-19  8:18     ` Junio C Hamano
2008-04-27  6:04       ` Junio C Hamano
2008-05-06  6:38         ` Junio C Hamano
2008-05-14 22:35           ` Junio C Hamano
2008-05-24  1:32             ` Junio C Hamano
2008-05-30 20:43               ` Junio C Hamano
2008-06-02  8:01                 ` Junio C Hamano
2008-06-13 10:10                   ` Junio C Hamano
2008-06-18  7:32                     ` Junio C Hamano
2008-06-18 10:59                       ` Jeff King
2008-06-21 10:06                       ` Junio C Hamano
2008-06-23  7:25                         ` Junio C Hamano
2008-06-25  9:34                           ` Junio C Hamano
2008-07-02  6:28                             ` Junio C Hamano
2008-07-06 10:04                               ` Junio C Hamano
2008-07-08  2:46                                 ` Junio C Hamano
2008-07-14  5:33                                   ` Junio C Hamano
2008-07-16  3:33                                     ` Junio C Hamano
2008-07-20  1:59                                       ` Junio C Hamano
2008-07-20 11:20                                         ` Lars Noschinski
2008-07-20 18:27                                           ` Junio C Hamano
2008-01-30  8:32 What's in git.git (stable frozen) Junio C Hamano
2008-02-12  7:25 ` What's in git.git Junio C Hamano
2008-02-17  3:56   ` What's in git.git (stable) Junio C Hamano
2008-02-17 13:39     ` Jakub Narebski
2008-02-17 20:45       ` Junio C Hamano
2008-02-17 20:51         ` Johannes Schindelin
2008-02-18  1:31           ` Junio C Hamano
2008-02-18  1:34             ` Johannes Schindelin
2008-02-18  1:43               ` Jeff King
2008-02-18  2:05                 ` Johannes Schindelin
2008-02-18  3:12                 ` Junio C Hamano
2008-02-18 11:15                   ` Jeff King
2008-02-21  4:16     ` Junio C Hamano
2008-02-25  8:42       ` Junio C Hamano
2008-02-28  0:43         ` Junio C Hamano
2008-03-03  2:06           ` Junio C Hamano
2008-03-06  6:02             ` Junio C Hamano
2008-03-08 10:08               ` Junio C Hamano
2008-03-09 10:46                 ` Junio C Hamano
2008-03-14  9:11                   ` Junio C Hamano
2008-03-23 10:08                     ` Junio C Hamano
2008-03-28  1:45                       ` Junio C Hamano
2008-03-31  8:39                         ` Junio C Hamano
2008-04-04 18:24                           ` Junio C Hamano
2008-04-05  3:13                             ` Shawn O. Pearce
2008-01-14  1:53 Junio C Hamano
2007-10-22  6:11 What's in git/spearce.git (stable) Shawn O. Pearce
2007-11-01  5:39 ` What's in git.git (stable) Junio C Hamano
2007-11-04  3:52   ` Junio C Hamano
2007-11-08  8:06     ` Junio C Hamano
2007-11-08 11:38       ` Pierre Habouzit
2007-11-12  7:06       ` Junio C Hamano
2007-11-15  0:20         ` Junio C Hamano
2007-11-17 21:00           ` Junio C Hamano
2007-11-25 20:45             ` Junio C Hamano
2007-12-01  2:05               ` Junio C Hamano
2007-12-04  8:43                 ` Junio C Hamano
2007-12-05 10:57                   ` Junio C Hamano
2007-12-07  9:50                     ` Junio C Hamano
2007-12-09 10:32                       ` Junio C Hamano
2007-09-06  8:52 Junio C Hamano
     [not found] ` <7v3axhd0lr.fsf@gitster.siamese.dyndns.org>
2007-09-26 20:05   ` Junio C Hamano
2007-10-02  5:52     ` Junio C Hamano
2007-08-23  0:37 Junio C Hamano
2007-08-24  0:28 ` Jakub Narebski
2007-08-11  8:41 Junio C Hamano
2007-08-11  9:32 ` David Kastrup
2007-08-16  5:02 ` Junio C Hamano
2007-05-13 22:30 Junio C Hamano
2007-05-17  0:21 ` Junio C Hamano
2007-05-19  5:24   ` Junio C Hamano
2007-05-23 21:46     ` Junio C Hamano
2007-05-29 10:12       ` Junio C Hamano
2007-06-02 21:09         ` Junio C Hamano
2007-06-07  2:08           ` Junio C Hamano
2007-06-13 20:11             ` Junio C Hamano
2007-06-13 22:31               ` Johannes Schindelin
2007-06-14  7:12                 ` Johannes Sixt
2007-06-21  7:21               ` Junio C Hamano
2007-06-25  9:43                 ` Junio C Hamano
2007-07-02  0:16                   ` Junio C Hamano
2007-07-13  6:06                     ` What's in git.git Junio C Hamano
2007-07-28  8:47                       ` What's in git.git (stable) Junio C Hamano
2007-07-28  8:56                         ` David Kastrup
2007-07-28  9:02                           ` Junio C Hamano
2007-07-28  9:35                           ` David Kastrup
2007-07-29  3:16                             ` Theodore Tso
2007-07-29  9:05                               ` David Kastrup
2007-07-29 16:40                                 ` Theodore Tso
2007-07-29 11:27                               ` Johannes Schindelin
2007-07-28 12:28                         ` Thomas Glanzmann
2007-08-07  6:22                         ` Junio C Hamano
2007-05-09  8:46 Junio C Hamano
2007-04-16  1:27 Junio C Hamano
2007-04-18 23:58 ` Junio C Hamano
2007-04-22  6:22   ` Junio C Hamano
2007-04-23  7:04     ` Junio C Hamano
2007-04-27  8:34       ` Junio C Hamano
2007-04-27  9:19         ` Andy Parkins
2007-04-27 14:01           ` Nicolas Pitre
2007-04-27 15:21             ` Andy Parkins
2007-04-27 17:11           ` Linus Torvalds
2007-04-27 18:03             ` Andy Parkins
2007-04-27 18:12               ` Linus Torvalds
2007-04-29 18:33         ` Junio C Hamano
2007-04-30  4:15           ` J. Bruce Fields
2007-04-30  5:12             ` Junio C Hamano
2007-05-01  3:36               ` J. Bruce Fields
2007-05-06  8:53           ` Junio C Hamano
2007-05-07  0:59             ` Jakub Narebski
2007-05-07 13:33             ` Frank Lichtenheld
2007-04-09  8:17 Junio C Hamano
2007-03-31  9:34 Junio C Hamano
2007-03-31 11:54 ` Alex Riesen
2007-04-05  6:44 ` Junio C Hamano
2007-02-20  7:32 Junio C Hamano
2007-02-23  8:33 ` Junio C Hamano
2007-03-04 10:32   ` Junio C Hamano
2007-03-13  8:49     ` Junio C Hamano
2007-03-13  9:26       ` Junio C Hamano
2007-03-22 17:08       ` Steven Grimm
2007-03-22 21:30         ` Junio C Hamano
2007-03-25  8:32       ` Junio C Hamano
2007-02-14 23:54 Junio C Hamano
2007-02-07 23:21 [ANNOUNCE] GIT 1.5.0-rc4 Junio C Hamano
2007-02-13  5:15 ` What's in git.git (stable) Junio C Hamano
2007-02-13 10:15   ` Johannes Schindelin
2007-02-13 17:33     ` Junio C Hamano
2007-02-13 18:21       ` Randal L. Schwartz
2007-02-13 18:37         ` Johannes Schindelin
2007-02-13 22:02           ` Jimmy Tang
2007-02-13 23:31             ` Linus Torvalds
2007-02-13 13:56   ` Matthias Lederhofer
2007-02-13 16:58     ` Junio C Hamano
2007-02-13 14:33   ` Bill Lear
2007-02-13 14:37     ` Bill Lear
2007-02-13 17:18       ` Randal L. Schwartz
2007-02-01  0:26 [ANNOUNCE] GIT 1.5.0-rc3 Junio C Hamano
2007-02-04  9:36 ` What's in git.git (stable) Junio C Hamano
2007-02-04 18:51   ` Jeff King
2007-02-04 19:12     ` Linus Torvalds
2007-02-04 20:58       ` Theodore Tso
2007-02-04 21:34         ` Jakub Narebski
2007-02-04 22:25           ` David Kågedal
2007-01-27  8:05 Junio C Hamano
2007-01-27  8:59 ` Aneesh Kumar K.V
2007-01-27 18:06   ` J. Bruce Fields
2007-01-27 22:00   ` Junio C Hamano
2007-01-27 17:56 ` J. Bruce Fields
2007-01-28 19:34 ` Bill Lear
2007-01-28 20:06   ` Junio C Hamano
2007-01-10  8:24 Junio C Hamano
2007-01-10  8:23 Junio C Hamano
2007-01-02  0:07 Junio C Hamano
2007-01-07  7:43 ` Junio C Hamano
2006-12-31  8:07 Junio C Hamano
2006-12-26  3:22 What's in git.git (stable) and announcing GIT 1.5.0 preview Junio C Hamano
2006-12-29  5:44 ` What's in git.git (stable) Junio C Hamano
2006-12-18  7:26 Junio C Hamano
     [not found] ` <Pine.LNX.4.64.0612181012280.3479@woody.osdl.org>
2006-12-18 22:04   ` Junio C Hamano
2006-12-16 23:10 Junio C Hamano
2006-12-13 21:35 Junio C Hamano
2006-12-13 22:37 ` Andy Parkins
2006-12-13 22:48   ` Jakub Narebski
2006-12-14  9:27     ` Andy Parkins
2006-12-14  9:36       ` Shawn Pearce
2006-12-14 10:03         ` Andy Parkins
2006-12-14 17:06         ` Nicolas Pitre
2006-12-15 14:28           ` Jakub Narebski
2006-12-13 23:31   ` Junio C Hamano
2006-12-13 23:52     ` Peter Baumann
2006-12-14  0:16     ` Johannes Schindelin
2006-12-14  3:32       ` Nicolas Pitre
2006-12-14  6:29         ` Junio C Hamano
2006-12-14  8:28     ` Andreas Ericsson
2006-12-15 14:39       ` Jakub Narebski
2006-12-14  9:59     ` Andy Parkins
2006-12-14 10:21       ` Junio C Hamano
2006-12-14 11:36         ` Andy Parkins
2006-12-14 11:45           ` Shawn Pearce
2006-12-14 11:58             ` Carl Worth
2006-12-14 12:05               ` Shawn Pearce
2006-12-14 18:06                 ` Nicolas Pitre
2006-12-14 19:52                   ` Junio C Hamano
2006-12-14 20:02                     ` Shawn Pearce
2006-12-14 20:22                       ` Nicolas Pitre
2006-12-14 20:35                       ` Junio C Hamano
2006-12-14 22:44                         ` Shawn Pearce
2006-12-14 21:55                       ` Andreas Ericsson
2006-12-15 21:55                         ` Junio C Hamano
2006-12-16  2:54                           ` Shawn Pearce
2006-12-14 20:17                     ` Nicolas Pitre
2006-12-14 20:50                       ` Junio C Hamano
2006-12-14 17:47             ` Nicolas Pitre
2006-12-14 21:58             ` Junio C Hamano
2006-12-14 22:50               ` Andy Parkins
2006-12-15 15:38                 ` Jakub Narebski
2006-12-15 15:26           ` Jakub Narebski
2006-12-15 15:30             ` Nicolas Pitre
2006-12-15 15:48               ` Andreas Ericsson
2006-12-15 16:08                 ` Nicolas Pitre
2006-12-15 16:12                   ` Shawn Pearce
2006-12-15 16:13                   ` Andreas Ericsson
2006-12-15 23:22               ` Johannes Schindelin
2006-12-15  4:07         ` Nicolas Pitre
2006-12-14 21:22       ` Junio C Hamano
2006-12-14 22:55         ` Andy Parkins
2006-12-14 23:46           ` Junio C Hamano
2006-12-15  8:58             ` Andy Parkins
2006-12-15  9:55               ` Raimund Bauer
2006-12-15 21:55               ` Junio C Hamano
2006-12-15 22:54                 ` Carl Worth
2006-12-14 23:53           ` Johannes Schindelin
2006-12-14 23:52     ` Horst H. von Brand
2006-12-15 10:53       ` Jakub Narebski
2006-12-14  0:22   ` Johannes Schindelin
2006-12-14 10:21     ` Andy Parkins
2006-12-14 10:51       ` Johannes Schindelin
2006-12-14 11:23         ` Andy Parkins
2006-12-14 11:27           ` Johannes Schindelin
2006-12-14 12:00             ` Andy Parkins
2006-12-14 12:10               ` Shawn Pearce
2006-12-14 13:20                 ` Andy Parkins
2006-12-15  0:15         ` Horst H. von Brand
2006-12-15  0:23           ` Johannes Schindelin
2006-12-14 17:23       ` Nicolas Pitre
2006-12-14 21:02         ` Andy Parkins
2006-12-14 23:03   ` Shawn Pearce
2006-12-15 16:16     ` Jakub Narebski
2006-12-15 21:55       ` Junio C Hamano
2006-12-15 22:48         ` Jakub Narebski
2006-12-15 23:25           ` Johannes Schindelin
2006-12-15 23:45             ` Junio C Hamano
2006-12-16  0:14               ` Johannes Schindelin
2006-12-16  0:30                 ` Junio C Hamano
2006-12-16 17:12                   ` Steven Grimm
2006-12-16 19:57                     ` Junio C Hamano
2006-12-15 23:42           ` Junio C Hamano
2006-12-16  9:58 ` Junio C Hamano
2006-12-16 13:59 ` Jakub Narebski
2006-12-16 22:04   ` Junio C Hamano
2006-12-06 21:18 Junio C Hamano
2006-12-08 15:36 ` Jakub Narebski
2006-12-09 20:44 ` Tilman Sauerbeck
2006-12-09 21:10   ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=7vwt4jzrjb.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=merlyn@stonehenge.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).