hashar added a comment.

  That is the same as previously, whenever the `python2` or `stable` tags are 
updated, git would plainly refuses to update them with the message: `would 
clobber existing tag`:
  
    contint2001:/srv/zuul/git/pywikibot/core$ sudo -u zuul git fetch --tags -v 
origin
    From ssh://gerrit.wikimedia.org:29418/pywikibot/core
    ...
     ! [rejected]          python2      -> python2  (would clobber existing tag)
     ! [rejected]          stable       -> stable  (would clobber existing tag)
    $ echo $?
    1
  
  Which in git is emitted by:
  
    static int update_local_ref( ... )
    {
            if (!is_null_oid(&ref->old_oid) &&
                starts_with(ref->name, "refs/tags/")) {
                    if (force || ref->force) {
                            int r;
                            r = s_update_ref("updating tag", ref, 0);
                            format_display(display, r ? '!' : 't', _("[tag 
update]"),
                                           r ? _("unable to update local ref") 
: NULL,
                                           remote, pretty_ref, summary_width);
                            return r;
                    } else {
                            format_display(display, '!', _("[rejected]"), 
_("would clobber existing tag"),
                                           remote, pretty_ref, summary_width);
                            return 1;
                    }
            }
  
  Or in other term, `git fetch` no more magically update tags. That has to be 
explicitly allowed by using `--force`. The change went with git 2.20.
  
  The change to git was done by Ævar Arnfjörð Bjarmason (who contributed a lot 
to MediaWiki) : 
https://git.kernel.org/pub/scm/git/git.git/commit/?id=0bc8d71b99e91c9e90b519073b639a5066119591
  
  From the manpage:
  
  **git-fetch(1)**
  
  > Until Git version 2.20, and unlike when pushing with git-push(1), any 
updates to `refs/tags/*` would be accepted without `+` in the refspec (or 
`--force`). When fetching, we promiscuously considered all tag updates from a 
remote to be forced fetches.
  >
  > **Since Git version 2.20**, fetching to update `refs/tags/*` works the same 
way as when pushing. I.e. **any updates will be rejected without + in the 
refspec (or --force)**.
  
  The root cause is the upgrade of contint servers to Buster which brings git 
2.20: T224591 <https://phabricator.wikimedia.org/T224591>

TASK DETAIL
  https://phabricator.wikimedia.org/T252310

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: hashar
Cc: zhuyifei1999, Jdforrester-WMF, Zoranzoki21, hashar, Urbanecm, Xqt, 
Aklapper, pywikibot-bugs-list, Dvorapa, JohnsonLee01, SHEKH, Dijkstra, Khutuck, 
Totolinototo3, Zkhalido, Redabr4, Zanziii, Sadisticturd, Viztor, DannyS712, 
NebulousIris, Wenyi, A.S.Kochergin, Jayprakash12345, Tbscho, MayS, Mdupont, 
JJMC89, D3r1ck01, Altostratus, Avicennasis, Liudvikas, Wong128hk, thcipriani, 
mys_721tx, jayvdb, Masti, Paladox, Alchimista, Rxy, Jay8g, Krenair, QChris
_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to