Re: [PATCH] git-send-pack: don't consider branch lagging behind as errors.
From: Jeff King <hidden>
Date: 2016-06-15 22:44:47
On Thu, Jun 19, 2008 at 03:52:00PM +0200, Pierre Habouzit wrote:
[...]quoted
- should stale branches be shown without -v?I believe so, it's valuable information. It's as valuable as what you get after a git fetch nowadays (like branches have diverged n and m commits each or similar) But oh well… I don't care that much.
If you read the beginning of that thread, the original impetus was people cloning repos that had dozens of branches, then doing a push. If they hadn't recently done a fetch, they got dozens of lines of "rejected".
quoted
- calling ref_newer here is inefficient, since we have already called it in the other direction. We should probably do the traversal once in such a way as to find out which ref is newer (or if it is indeterminate).Well, true, though I don't expect people to have tons of local branches that match a refspec _and_ lag behind. I suspect this is a very minor performance loss.
Yeah, maybe it is not worth worrying about; I haven't actually measured any performance issue. I'll try to look and see how painful it is to combine the traversals.
quoted
- there is a possible danger with "git push -f", in that you force both rejected branches as well as stale branches. Junio and IWell afaict this is a separate issue, as we're (with such a patch) only changing what gets printed on the console, not the internal behavior. So solving this second issue should not really be a precondition to the inclusion of such a patch.
It is a separate issue, but it is exacerbated by hiding stale refs. Imagine: $ git push To /path/to/repo ! [rejected] master -> master (non-fast forward) $ git push -f To /path/to/repo + 0abfa88...c1ed93b master -> master (forced update) + 0329485...3498576 stale_branch -> stale_branch (forced update) I think that is a nasty surprise to spring on an unsuspecting user. Another solution might be "-f" not pushing rewound branches, but then we need a way to specify "no, really, push this rewound branch". Perhaps "-f -f"?
Please please please do :) The exit 1 of git-push is really annoying me these days.
OK, I will try to take a look in the next few days. -Peff