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

Re: [PATCH] doc: format-patch: don't use origin as a branch name

From
Philip Oakley <philipoakley@iee.org>
Date
Aug 1, 2014, 22:26 UTC
Message-ID
<F09DC14751724BEB809135DE720953E6@PhilipOakley>
In-Reply-To
<xmqq8un8ug5d.fsf@gitster.dls.corp.google.com>
From: "Junio C Hamano" <gitster@pobox.com>
Show 15 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> Philip Oakley wrote:
>>
>>> Historically (5 Nov 2005 v0.99.9-46-g28ffb89) the git-format-patch 
>>> used
>>> 'origin' as the upstream branch name. This is now used to name the 
>>> remote.
>>> Use the more modern 'master' as the branch name.
>>
>> Would 'origin/master' make sense?
>
> It would make a lot more sense than 'master', I think.
>
> The 'origin' will be DWIMmed to whatever the remote designated as

I'd rather not provide an example that requires extra understanding on behalf of the reader on the DWIMing, especially as the example doesn't actually match the guidance in gitrevisions(7) [2].

The synopsis says it should either be a single commit <since>, or a <revision range>, the latter specified via gitrevisions(7), so theirs already an opportunity for confusion, but I take your point.

Show 7 quoted lines
> its primary branch, i.e. refs/remotes/origin/HEAD, and the
> assumption the examples in question makes is that the user is
> following along the simplest workflow to fork from it and upstream
> her changes.  Between 'origin' and 'origin/master', there isn't much
> difference because of it.  In the same spirit of following the
> simplest workflow, that primary branch is likely to be their
> 'master', so 'origin/master' is OK but longer than 'origin' [*1*].

which suggests that maybe the example text should clarify any assumprion like that..

Show 7 quoted lines
>
> On the other hand, 'master' names the local 'master', which may be
> very stale with respect to 'origin/master', or may have tons of
> unrelated things that are not in origin/master, some of which may
> have come from the branch the user is running format-patch to grab
> patches to upstream.  For this reason, changing 'origin' to 'master'
> is not an improvement at all, I would have to say.

I didn't see it that way, my view (presumption?) of the workflow was that the user had a branch 'current' which they had branched from their 'master', thus the updated command felt natural.

Show 5 quoted lines
>
> We could further adjust the underlying assumption to more modern
> "checkout -t -b" era, and use "format-patch @{u}", but I suspect
> that the readers of these examples are not yet ready for magic
> before the basics to spell out things more explicitly is covered.
agreed
Show 8 quoted lines
>
>
> [Footnote]
>
> *1* Also using 'origin' will cover the case when the primary branch
> at the remote were not named 'master', so in that sense it is
> slightly better and more generally applicable.
>

-- Philip [2] the DWIMs listed in the <refname> example of gitrevisions(7), to the niave reader, needs to be ref/ prefixed, which isn't what we'd hope (assuming they ever read it ;-).

Previous: Junio C Hamano
Message 4 of 4 in “doc: format-patch: don't use origin as a branch name”
  1. doc: format-patch: don't use origin as a branch namePhilip Oakley, Aug 1, 2014
  2. Jonathan NiederAug 1, 2014
  3. Junio C HamanoAug 1, 2014
  4. Philip OakleyAug 1, 2014

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.