git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Ye Xiaolong <xiaolong.ye@intel.com>
Cc: git@vger.kernel.org, fengguang.wu@intel.com,
	ying.huang@intel.com, philip.li@intel.com, julie.du@intel.com
Subject: Re: [PATCH v3 3/4] format-patch: introduce --base=auto option
Date: Fri, 01 Apr 2016 09:06:20 -0700	[thread overview]
Message-ID: <xmqqlh4xjoub.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20160401135207.GB2915@yexl-desktop> (Ye Xiaolong's message of "Fri, 1 Apr 2016 21:52:07 +0800")

Ye Xiaolong <xiaolong.ye@intel.com> writes:

> On Thu, Mar 31, 2016 at 10:43:48AM -0700, Junio C Hamano wrote:
>>Xiaolong Ye <xiaolong.ye@intel.com> writes:
>>
>>> Introduce --base=auto to record the base commit info automatically, the base_commit
>>> will be the merge base of tip commit of the upstream branch and revision-range
>>> specified in cmdline.
>>
>>This line is probably a bit too long.
>
> How about simplifying it to "the base_commit is the merge base of upstream and
> specified revision-range."?

What I meant was not that profound.  I just wanted you to wrap your
lines a bit shorter so that quoting in the discussion thread like
this would not make the result overlong to fit on a 80-column
terminal ;-)

>>> +			base = base_list->item;
>>> +			free_commit_list(base_list);
>>
>>What should happen when there are multiple merge bases?  The code
>>picks one at random and ignores the remainder, if I am reading this
>>correctly.
>
> If there is more than one merge base, commits in base_list should
> be sorted by date, if I am understanding it correctly, so
> base_list->item should be the lastest merge base commit, it should
> be enough for us to used as base commit.

By definition, when there are multiple merge bases, there is no
latest one among them.

When the history involves criss-cross merges, there can be more than
one 'best' common ancestor for two commits.  For example, with this
topology (note that X is not a commit; it merely denotes crossing of
two lines):

       ---1---o---A
      /    \ /
  ---O      X
      \    / \
       ---2---o---o---B

both '1' and '2' are merge-bases of 'A' and 'B'.  And the timestamps
on one (be it committer or author timestamp) being later than those
of the other do not make it any more suitable than the other one.

  reply	other threads:[~2016-04-01 16:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31  1:46 [PATCH v3 0/4] Add an option to git-format-patch to record base tree info Xiaolong Ye
2016-03-31  1:46 ` [PATCH v3 1/4] patch-ids: make commit_patch_id() a public helper function Xiaolong Ye
2016-03-31  1:46 ` [PATCH v3 2/4] format-patch: add '--base' option to record base tree info Xiaolong Ye
2016-03-31 17:38   ` Junio C Hamano
2016-04-01 13:38     ` Ye Xiaolong
2016-04-01 16:00       ` Junio C Hamano
2016-04-05  5:52         ` Ye Xiaolong
2016-04-09 15:56     ` Ye Xiaolong
2016-03-31  1:46 ` [PATCH v3 3/4] format-patch: introduce --base=auto option Xiaolong Ye
2016-03-31 17:43   ` Junio C Hamano
2016-04-01 13:52     ` Ye Xiaolong
2016-04-01 16:06       ` Junio C Hamano [this message]
2016-04-05  6:36         ` Ye Xiaolong
2016-04-05  7:21           ` Junio C Hamano
2016-03-31  1:46 ` [PATCH v3 4/4] format-patch: introduce format.base configuration Xiaolong Ye
2016-03-31 17:45 ` [PATCH v3 0/4] Add an option to git-format-patch to record base tree info 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=xmqqlh4xjoub.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=fengguang.wu@intel.com \
    --cc=git@vger.kernel.org \
    --cc=julie.du@intel.com \
    --cc=philip.li@intel.com \
    --cc=xiaolong.ye@intel.com \
    --cc=ying.huang@intel.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).