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