Re: [PATCH 5/7] push: require force for refs under refs/tags/
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 27, 2012, 17:12 UTC
- Message-ID
- <7v7gp7nf5e.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CAEUsAPZTycJS_USj-tYNN2Bpwn8XvYDTd4c7wFMFDYfNeSCUtw@mail.gmail.com>
Chris Rorvick <chris@rorvick.com> writes:
Show 34 quoted lines
> On Mon, Nov 26, 2012 at 12:57 PM, Junio C Hamano <gitster@pobox.com> wrote: >> Chris Rorvick <chris@rorvick.com> 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.
Sure. (0) you can always force; (1) you can always delete; and then other requirements. That may indeed read better.
Thanks.