Re: `@` alias for `HEAD` not working in `git push -u origin @`
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 11, 2019, 09:46 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1907111141380.46@tvgsbejvaqbjf.bet>
- In-Reply-To
- <20190710233937.GG9224@genre.crustytoothpaste.net>
Hi brian,
On Wed, 10 Jul 2019, brian m. carlson wrote:
Show 25 quoted lines
> 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@crustytoothpaste.net/
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