Hi brian, On Wed, 10 Jul 2019, brian m. carlson wrote: > On 2019-07-10 at 05:06:08, Mark Florian wrote: > > > > I learned today that `@` is a shortcut for `HEAD`. From `git help reivisions`: > > > > @ alone is a shortcut for HEAD. > > > > However, when I tried to use it in a command I frequently use, I got an error: > > > > $ git push -u origin @ > > fatal: invalid refspec '@' > > > > I'm running git version 2.22.0 on Linux. > > > > Is this a bug, or have I misunderstood how this is supposed to work? > > This is a bug. If the destination side of a refspec is omitted, and the > source side resolves to a ref starting with "refs/heads/" or > "refs/tags/" (which I expect it does here), then that ref is used as the > destination. > > I submitted a patch at [0], but it was decided not to pick it up. If > Junio and the list decide that it's wanted, I'm happy to resend or > revise and resend. > > [0] https://public-inbox.org/git/20180729192803.1047050-1-sandals@xxxxxxxxxxxxxxxxxxxx/ After reading that thread, I come to the conclusion that it was not so much a decision not to pick it up, but more like a falling between the cracks. I would be in favor of this patch. Since I have your attention and since I am interested in a related issue (when I wanted to propose a GSoC mini project to let `git fetch <remote> @` expand the `@` to the current (local) branch name, Matthieu Moy pointed out that `git fetch --current <remote>` might be a better UI): what does your patch do with `git fetch`'s refspec arguments? Ciao, Dscho