Re: [PATCH v6 0/8] push: update remote tags only with force
- From
Max Horn <max@quendi.de>
- Date
- Jan 16, 2013, 13:32 UTC
- Message-ID
- <DBF53EC2-A669-4B77-B88E-BFCDF43C862E@quendi.de>
- In-Reply-To
- <1354239700-3325-1-git-send-email-chris@rorvick.com>
Hi there,
I was just working on improving git-remote-helper.txt by documenting how remote helper can signal error conditions to git. This lead me to notice a (to me) surprising change in behavior between master and next that I traced back to this patch series.
Specifically:
On 30.11.2012, at 02:41, Chris Rorvick wrote:
Show 8 quoted lines
> This patch series originated in response to the following thread: > > http://thread.gmane.org/gmane.comp.version-control.git/208354 > > I made some adjustments based on Junio's last round of feedback > including a new patch reworking the "push rules" comment in remote.c. > Also refined some of the log messages--nothing major. Finally, took a > stab at putting something together for the release notes, see below.
>From the discussion in that gmane thread and from the commits in this series, I had the impression that it should mostly affect pushing tags. However, this is not the case: It also changes messages upon regular push "conflicts. Consider this test script:
#!/bin/sh -ex git init repo_orig cd repo_orig echo a > a git add a git commit -m a cd ..
git clone repo_orig repo_clone
cd repo_orig echo b > b git add b git commit -m b cd ..
cd repo_clone echo B > b git add b git commit -m B git push
With git 1.8.1, I get this message:
! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '/Users/mhorn/Projekte/foreign/gitifyhg/bugs/git-push-conflict/repo_orig' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
But with next, I get this:
! [rejected] master -> master (already exists) error: failed to push some refs to '/Users/mhorn/Projekte/foreign/gitifyhg/bugs/git-push-conflict/repo_orig' hint: Updates were rejected because the destination reference already exists hint: in the remote.
This looks like a regression to me. No tags were involve, and the new message is very confusing if not outright wrong -- at least in my mind, but perhaps I am missing a way to interpret it "correctly" ? What am I missing?
Cheers, Max