On Mon, Nov 26, 2012 at 12:57 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Chris Rorvick <chris@xxxxxxxxxxx> writes: > >> diff --git a/remote.c b/remote.c >> index 4a6f822..012b52f 100644 >> --- a/remote.c >> +++ b/remote.c >> @@ -1315,14 +1315,18 @@ void set_ref_status_for_push(struct ref *remote_refs, int send_mirror, >> * >> * (1) if the old thing does not exist, it is OK. >> * >> - * (2) if you do not have the old thing, you are not allowed >> + * (2) if the destination is under refs/tags/ you are >> + * not allowed to overwrite it; tags are expected >> + * to be static once created >> + * >> + * (3) if you do not have the old thing, you are not allowed >> * to overwrite it; you would not know what you are losing >> * otherwise. >> * >> - * (3) if both new and old are commit-ish, and new is a >> + * (4) if both new and old are commit-ish, and new is a >> * descendant of old, it is OK. >> * >> - * (4) regardless of all of the above, removing :B is >> + * (5) regardless of all of the above, removing :B is >> * always allowed. >> */ > > We may want to reword (0) to make it clear that --force > (and +A:B) can be used to defeat all the other rules. On that note, having (5) be "regardless of all of the above ..." seems a little awkward. That would seem to fit better towards the top. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html