Re: [PATCH v6 0/8] push: update remote tags only with force
flat view
From: Max Horn <hidden>
Date: 2016-06-15 22:55:47
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:
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