public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Harald Nordgren <haraldnordgren@gmail.com>
To: gitster@pobox.com
Cc: git@vger.kernel.org, gitgitgadget@gmail.com, haraldnordgren@gmail.com
Subject: Re: [PATCH] revisions: add @{default} shorthand for default branch
Date: Fri, 30 Jan 2026 11:59:54 +0100	[thread overview]
Message-ID: <20260130105954.59636-1-haraldnordgren@gmail.com> (raw)
In-Reply-To: <xmqq1pj8b22h.fsf@gitster.g>

Thanks for your comments!

> But @{upstream} and @{push} are inherently very different from what
> you are adding, aren't they?  Asking for topic1@{upstream} and
> topic2@{upstream} makes quite a lot of sense, because the meaning of
> @{upstream} depends on "which branch's upstream are you talking
> about???".  But I suspect that asking for topic1@{default} and
> expect it would be different from topic2@{default} is nonsense, as
> "the default" is not per branch but is an attribute of a repository.
> In other words, <branch>@{default} may by itself be a nonsense
> query.  Are you rejecting a non-empty <branch> that may appear
> before @{default} as an error?

I will update the code to treat 'new-branch@{default}' as nonsense, it's
not a case I thought about, and would never use 😅

> After cloning an upstream project, those who dislike the local
> branch name 'master' often rename it to something else, like 
> 
>     $ git branch -m master main

I have never heard about anyone doing that. Isn't it more expected that
people keep whatever branch is on the remote? But regardless, I hope
there is a way to still make @{default} map to whatever your renamed your
default branch to.

> Given
> that the names of local branches are under control of the local end
> user and not upstream projects, I would imagine that the primary
> branch used by a user is of per-user nature, not per repository.  In
> other words, instead of having to do "git branch -m" after cloning,
> you may do "git config --global init.defaultBranch" just once and
> keep using the same default name.

My ratio on cloning other people's repo vs. create new repos is likely
999/1, so I'm given the default names that maintainer chose. I have
default branches called 'master', 'main' and 'develop'.

Yes it's possible to rename, but what this feature does is open up the
convenience of not having to bother with that.

I have this script that I run many times a day. However it doesn't work
when remote is not called 'origin', so I have another version for
'upstream', etc:

    git checkout $(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')

That's uneccessary overhead, that could now be replaced with:

    git checkout @{default}


Harald

  reply	other threads:[~2026-01-30 10:59 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-29 15:25 [PATCH] revisions: add @{default} shorthand for default branch Harald Nordgren via GitGitGadget
2026-01-29 20:23 ` Junio C Hamano
2026-01-30 10:59   ` Harald Nordgren [this message]
2026-01-30 11:12     ` Harald Nordgren
2026-01-30 16:42     ` Junio C Hamano
2026-01-30 20:58       ` Harald Nordgren
2026-01-30 21:56         ` Junio C Hamano
2026-01-31  0:09           ` Harald Nordgren
2026-01-31 19:16       ` Junio C Hamano
2026-01-31 20:22         ` Harald Nordgren
2026-01-31 20:55           ` Harald Nordgren
2026-02-02 12:32             ` Junio C Hamano
2026-02-02 15:30               ` Harald Nordgren
2026-02-02  9:37           ` Phillip Wood
2026-02-02 10:14             ` Harald Nordgren
2026-02-02 19:40               ` D. Ben Knoble
2026-02-02 21:19                 ` Harald Nordgren
2026-02-02 21:53                   ` Kristoffer Haugsbakk
2026-02-02 22:17                   ` Ben Knoble
2026-02-02 22:54                     ` Harald Nordgren
2026-02-02 21:33                 ` Junio C Hamano
2026-02-02 22:16                   ` Ben Knoble
2026-02-02 23:03                 ` Harald Nordgren
2026-02-02 21:44               ` Junio C Hamano
2026-02-02 22:56                 ` Harald Nordgren
2026-02-03 11:18                   ` Harald Nordgren
2026-02-03 14:38               ` Phillip Wood
2026-02-02 22:28             ` Junio C Hamano
2026-01-30 13:26 ` [PATCH v2] " Harald Nordgren via GitGitGadget
2026-01-30 16:54   ` Kristoffer Haugsbakk
2026-01-30 20:45   ` [PATCH v3] revisions: add @{primary} shorthand for primary branch Harald Nordgren via GitGitGadget
2026-01-31  0:06     ` [PATCH v4] " Harald Nordgren via GitGitGadget

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260130105954.59636-1-haraldnordgren@gmail.com \
    --to=haraldnordgren@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox