DrTrigon has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/86375


Change subject: re-enable support for svn repo revision detection (from compat)
......................................................................

re-enable support for svn repo revision detection (from compat)

* re-enable old code still there
* add support for git sha hash (cf. change 85523)
* try to avoid to excessive use of try...except structures

Change-Id: Ia5b6c30715b1ef4e103701e159987fe9b506660d
---
M pywikibot/version.py
1 file changed, 11 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/75/86375/1

diff --git a/pywikibot/version.py b/pywikibot/version.py
index 9555d71..3c6fa20 100644
--- a/pywikibot/version.py
+++ b/pywikibot/version.py
@@ -10,8 +10,7 @@
 __version__ = '$Id$'
 
 import os
-import time
-import datetime
+import time, datetime
 import urllib
 import subprocess
 
@@ -47,7 +46,11 @@
     if cache:
         return cache
     try:
-        (tag, rev, date, hsh) = getversion_git()
+        _program_dir = _get_program_dir()
+        if os.path.isdir(os.path.join(_program_dir, '.svn')):
+            (tag, rev, date, hsh) = getversion_svn(_program_dir)
+        else:
+            (tag, rev, date, hsh) = getversion_git(_program_dir)
     except Exception:
         try:
             (tag, rev, date, hsh) = getversion_nightly()
@@ -87,11 +90,12 @@
         from sqlite3 import dbapi2 as sqlite
         con = sqlite.connect(os.path.join(_program_dir, ".svn/wc.db"))
         cur = con.cursor()
-        cur.execute('''select local_relpath, repos_path, revision, 
changed_date from nodes order by revision desc, changed_date desc''')
-        name, tag, rev, date = cur.fetchone()
+        cur.execute('''select local_relpath, repos_path, revision, 
changed_date, checksum from nodes order by revision desc, changed_date desc''')
+        name, tag, rev, date, hsh = cur.fetchone()
         con.close()
         tag = tag[:-len(name)]
         date = time.gmtime(date / 1000000)
+        hsh = hsh.split('$')[2]
     else:
         for i in xrange(3):
             entries.readline()
@@ -104,9 +108,10 @@
         date = time.strptime(entries.readline()[:19], '%Y-%m-%dT%H:%M:%S')
         rev = entries.readline()[:-1]
         entries.close()
+        hsh = '(unknown)'
     if (not date or not tag or not rev) and not path:
         raise ParseError
-    return (tag, rev, date)
+    return (tag, rev, date, hsh)
 
 
 def getversion_git(path=None):

-- 
To view, visit https://gerrit.wikimedia.org/r/86375
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia5b6c30715b1ef4e103701e159987fe9b506660d
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: DrTrigon <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to