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

Re: [PATCH v6 0/4] Add --base option to git-format-patch to record base tree info

From
Ye Xiaolong <xiaolong.ye@intel.com>
Date
Apr 27, 2016, 07:33 UTC
Message-ID
<20160427073350.GA30342@yexl-desktop>
In-Reply-To
<xmqq4maogpsw.fsf@gitster.mtv.corp.google.com>
On Tue, Apr 26, 2016 at 11:58:39AM -0700, Junio C Hamano wrote:
Show 19 quoted lines
>Stefan Beller <sbeller@google.com> writes:
>
>>> So from where are you proposing Git to grab that information if you
>>> do not tell it?  "If the HEAD is detached, assume that the base is
>>> where it was detached from" or something?
>>
>> That would also work for me. In my first mail I was proposing to take
>> the information from the format-patch argument, such that a one off fix
>> would be:
>>
>>     (1) git checkout origin/master
>>     (2) EDIT
>>     (3) git commit -a -m "fix"
>>     (4) git format-patch origin/master..  # <- This is the information.
>>
>> However you read it as taking the information from the first line,
>> which is also fine with me, as then the (4) can become
>>
>>     (4a) git format-patch HEAD^

Thanks for the suggestion, I think this feature would definitely save effort for end users and help to improve the usage rate of this "--base" option.

If I understand it correctly, we should try to parse the "revision range" specified in the fomat-patch cmdline if format.useAutoBase is set and we couldn't find the remote-tracking branch, if its pattern matches something like "<branchname>..<rev2>", we will try to get base commit from it:

  - If it is a remote branch, just set its head as base
  - If it isn't, try to set branchname@{u} as base
Please correct me if I'm wrong.
Show 12 quoted lines
>
>Either would work, but reading from (4) feels a lot less black magic
>to me.
>
>>> If you are doing "format-patch master..my-branch", what do you
>>> propose to set your base to?  master@{u}, perhaps?
>>
>> Yes. (I usually use that command with |s|master|origin/master|, so the
>> argument is the upstream already. A local master branch does not exist for me.)
>
>Let's hear from folks at Intel ;-) Both of the above sounds like
>sensible enhancements to me.

Shall I squash these enhancements in this series, or I need to make another patch for them?

Thanks, Xiaolong

Previous: Junio C HamanoNext: Junio C Hamano
Message 13 of 16 in “Add --base option to git-format-patch to record base tree info”
  1. 0/4 Add --base option to git-format-patch to record base tree infoXiaolong Ye, Apr 26, 2016
  2. 1/4 patch-ids: make commit_patch_id() a public helper functionXiaolong Ye, Apr 26, 2016
  3. 2/4 format-patch: add '--base' option to record base tree infoXiaolong Ye, Apr 26, 2016
  4. 3/4 format-patch: introduce --base=auto optionXiaolong Ye, Apr 26, 2016
  5. 4/4 format-patch: introduce format.useAutoBase configurationXiaolong Ye, Apr 26, 2016
  6. Stefan BellerApr 26, 2016
  7. Stefan BellerApr 26, 2016
  8. Junio C HamanoApr 26, 2016
  9. Stefan BellerApr 26, 2016
  10. Junio C HamanoApr 26, 2016
  11. Stefan BellerApr 26, 2016
  12. Junio C HamanoApr 26, 2016
  13. Ye XiaolongApr 27, 2016
  14. Junio C HamanoApr 27, 2016
  15. Stefan BellerApr 27, 2016
  16. Stefan BellerApr 26, 2016

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.