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
Stefan Beller <sbeller@google.com>
Date
Apr 26, 2016, 18:43 UTC
Message-ID
<CAGZ79kZNV+g3_Rmpynh-WQVc3dW6nuNDsTM=gTxNuJnr3V3Azg@mail.gmail.com>
In-Reply-To
<xmqqd1pcgr3s.fsf@gitster.mtv.corp.google.com>
On Tue, Apr 26, 2016 at 11:30 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 11 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> I can totally do that for longer series which require some back and forth.
>>
>> But one-offs, such as typo fixes or other small things[1], for which I do
>> even have a local branch (i.e. checkout origin/master && fix &&
>> commit && send-email) this is another step that potentially bothers me.
>
> 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^
Another thought:
  Most workflows do not have different remotes per branch, e.g.
  when `master` maps to  `origin/master` as its upstream it is likely that
  `topic-foo` maps to its equivalent at `origin/..` as well.
  Branches come and go in a topic based workflow, so configuring them
  for each new branch is cumbersome, so let's have a default `remote` for
  repository.

If we have a default remote per repository, the base finding algorithm in format-patch could check if the base(s) of the patch series is a head in one of the default remote branches, i.e. check all origin/* branches for a match?

Show 6 quoted lines
>
>> From a UI perspective it seems logical to also check if the base
>> can be obtained from the patch range specifier.
>
> 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.)

>
Previous: Junio C HamanoNext: Junio C Hamano
Message 11 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.