jayvdb created this task. jayvdb added a subscriber: jayvdb. jayvdb added projects: pywikibot-core, pywikibot-compat. Restricted Application added subscribers: Aklapper, pywikipedia-bugs.
TASK DESCRIPTION pywikibot has had special support for SVN version 1.6 and earlier, by manually parsing the SVN __undocumented__ `entries` file (version 11 or earlier).
getversion_svn in the first revision (82d7a63) of core's version.py parsed `entries` and returned a **formatted** `tag` using
``` tag = '[%s] %s' % (t[0], t[1]) ```
79843a6 then used this tag value in a URL to github.com to obtain a hash, resulting in an error from github, and an exception in Python. `tag` was updated for SVN v1.7+, but not v1.6 and earlier.
(after creating a .svn/entries in the version 10 file format) ``` core$ python pwb.py shell Welcome to the Pywikibot interactive shell!
import pywikibot pywikibot.version.getversion_svn()
WARNING: Http response status 400
Traceback (most recent call last): File "<console>", line 1, in <module> File ".../pywikibot/version.py", line 184, in getversion_svn hsh = github_svn_rev2hash(tag, rev) File ".../pywikibot/version.py", line 166, in github_svn_rev2hash dom = xml.dom.minidom.parse(StringIO(data)) File "/usr/lib64/python2.7/xml/dom/minidom.py", line 1921, in parse return expatbuilder.parse(file) File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 928, in parse result = builder.parseFile(file) File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile parser.Parse(buffer, 0) ExpatError: undefined entity: line 13, column 20 ```
(the same bug appears in compat.)
TASK DETAIL https://phabricator.wikimedia.org/T95077
REPLY HANDLER ACTIONS Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign <username>.
EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: jayvdb Cc: pywikipedia-bugs, jayvdb, Aklapper, Anshoe