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.)
>