Page MenuHomePhabricator

Tag versions of IPSet in git
Closed, ResolvedPublic

Description

MediaWiki composer.json has "wikimedia/ip-set": "1.0.1" but the IPSet.git project lacks tag making it hard to figure out which code is actually in use.

The packagist page https://packagist.org/packages/wikimedia/ip-set has 1.0 and 1.0.1 listed. I am not sure how from where they come from. The IPSet composer.json does not have any version indication.

Event Timeline

hashar created this task.Feb 26 2016, 9:50 AM
BBlack added a subscriber: ori.Feb 26 2016, 11:33 AM

The packagist page https://packagist.org/packages/wikimedia/ip-set has 1.0 and 1.0.1 listed. I am not sure how from where they come from.

They probably come from GitHub, as Packagist/Composer uses the GitHub repo for this package. Indeed, there are two tags in GitHub: 1.0.0 (commit b58230c7b743bfeb8efb0e159551eb3343754928) and 1.0.1 (commit 3c2dd6706546fe616e6ceba02044e64dce4fc9be).

It seems likely that @ori created the tags through GitHub's web interface as "releases". GitHub allows you to use an existing tag as the basis for a "release", or to create a new tag. Tags created in GitHub are not replicated back to Gerrit, since the replication only works one way. (Also, tags created in GitHub are "lightweight" tags, which are mere references to commits, not signed, dated, or annotated objects. The date and time the tag was created, as well as who created the tag, are not recorded in Git.)

So, the versions of the code in use are likely known, though not recorded in Gerrit. All that has to be done is to fetch the existing "lightweight" tags from GitHub, possibly replace them with signed, annotated tags (though what date would be used?), then push the tags to Gerrit. Afterwards, it may be desirable to delete the releases (though not the tags) from GitHub to avoid confusion over which release is the "Latest release" once a new release is tagged, though not added directly on GitHub or through its API.

Also, in the cdb repo, tag 1.2.0 (commit 7c536c4be5e9e836eb667dc1e2f8c5482b7a42a0) is missing in Gerrit yet present in GitHub, probably for the same reason, and should be fixed similarly.

Legoktm closed this task as Resolved.Apr 27 2016, 11:37 PM
Legoktm claimed this task.
Legoktm added a subscriber: Legoktm.
km@km-tp ~/p/IPSet> git push gerrit --tags
no slots
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 3, done    
To ssh://legoktm@gerrit.wikimedia.org:29418/IPSet.git
 * [new tag]         1.0 -> 1.0
 * [new tag]         1.0.0 -> 1.0.0
 * [new tag]         1.0.1 -> 1.0.1
km@km-tp ~/p/cdb> git push gerrit --tags
no slots
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done    
To ssh://legoktm@gerrit.wikimedia.org:29418/cdb.git
 * [new tag]         1.2.0 -> 1.2.0