<html><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1437510125940_13670" dir="ltr">Hi Yuya,</div><div id="yui_3_16_0_1_1437510125940_13671" dir="ltr"><br></div><div id="yui_3_16_0_1_1437510125940_13672" dir="ltr">Thanks for the feedback and clarifying the intention. They are good points; I have included revised patch below.<br></div><div id="yui_3_16_0_1_1437510125940_33064" dir="ltr"><br></div><div id="yui_3_16_0_1_1437510125940_32013"><br></div><div id="yui_3_16_0_1_1437510125940_32012" dir="ltr"># HG changeset patch<br class="" id="yui_3_16_0_1_1437510125940_31921"># User Peter Elmers <peter.elmers@yahoo.com><br class="" id="yui_3_16_0_1_1437510125940_31923"># Date 1437512568 25200<br class="" id="yui_3_16_0_1_1437510125940_31925">#      Tue Jul 21 14:02:48 2015 -0700<br class="" id="yui_3_16_0_1_1437510125940_31927"># Node ID 1b327fa07920e0717cf72438f07cb2afa985a833<br class="" id="yui_3_16_0_1_1437510125940_31929"># Parent  ec935041d1ff0fd2aa8cb666d79e6dcca398ddba<br class="" id="yui_3_16_0_1_1437510125940_31931">Issue 3924: parse PKG-INFO for version information.<br class="" id="yui_3_16_0_1_1437510125940_31933"><br class="" id="yui_3_16_0_1_1437510125940_31935">diff --git a/setup.py b/setup.py<br class="" id="yui_3_16_0_1_1437510125940_31937">--- a/setup.py<br class="" id="yui_3_16_0_1_1437510125940_31939">+++ b/setup.py<br class="" id="yui_3_16_0_1_1437510125940_31941">@@ -1,12 +1,12 @@<br class="" id="yui_3_16_0_1_1437510125940_31943"> import os, time<br class="" id="yui_3_16_0_1_1437510125940_31945"> from distutils.core import setup<br class="" id="yui_3_16_0_1_1437510125940_31947"> <br class="" id="yui_3_16_0_1_1437510125940_31949">-# query Mercurial for version number<br class="" id="yui_3_16_0_1_1437510125940_31951">+# query Mercurial for version number, or pull from PKG-INFO<br class="" id="yui_3_16_0_1_1437510125940_31953"> version = 'unknown'<br class="" id="yui_3_16_0_1_1437510125940_31955"> if os.path.isdir('.hg'):<br class="" id="yui_3_16_0_1_1437510125940_31957">     cmd = "hg id -i -t"<br class="" id="yui_3_16_0_1_1437510125940_31959">     l = os.popen(cmd).read().split()<br class="" id="yui_3_16_0_1_1437510125940_31961">     while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags<br class="" id="yui_3_16_0_1_1437510125940_31963">         l.pop()<br class="" id="yui_3_16_0_1_1437510125940_31965">     if len(l) > 1: # tag found<br class="" id="yui_3_16_0_1_1437510125940_31967">         version = l[-1]<br class="" id="yui_3_16_0_1_1437510125940_31969">@@ -21,16 +21,20 @@ elif os.path.exists('.hg_archival.txt'):<br class="" id="yui_3_16_0_1_1437510125940_31971">     kw = dict([[t.strip() for t in l.split(':', 1)]<br class="" id="yui_3_16_0_1_1437510125940_31973">                for l in open('.hg_archival.txt')])<br class="" id="yui_3_16_0_1_1437510125940_31975">     if 'tag' in kw:<br class="" id="yui_3_16_0_1_1437510125940_31977">         version =  kw['tag']<br class="" id="yui_3_16_0_1_1437510125940_31979">     elif 'latesttag' in kw:<br class="" id="yui_3_16_0_1_1437510125940_31981">         version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw<br class="" id="yui_3_16_0_1_1437510125940_31983">     else:<br class="" id="yui_3_16_0_1_1437510125940_31985">         version = kw.get('node', '')[:12]<br class="" id="yui_3_16_0_1_1437510125940_31987">+elif os.path.exists('PKG-INFO'):<br class="" id="yui_3_16_0_1_1437510125940_31989">+    kw = dict([[t.strip() for t in l.split(':', 1)]<br class="" id="yui_3_16_0_1_1437510125940_31991">+               for l in open('PKG-INFO') if ':' in l])<br class="" id="yui_3_16_0_1_1437510125940_31993">+    version = kw.get('Version', version)<br class="" id="yui_3_16_0_1_1437510125940_31995"> <br class="" id="yui_3_16_0_1_1437510125940_31997"> setup(<br class="" id="yui_3_16_0_1_1437510125940_31999">     name='python-hglib',<br class="" id="yui_3_16_0_1_1437510125940_32001">     version=version,<br class="" id="yui_3_16_0_1_1437510125940_32003">     author='Idan Kamara',<br class="" id="yui_3_16_0_1_1437510125940_32005">     author_email='idankk86@gmail.com',<br class="" id="yui_3_16_0_1_1437510125940_32007">     url='http://selenic.com/repo/python-hglib',<br class="" id="yui_3_16_0_1_1437510125940_32009">     description='Mercurial Python library',<br class="" id="yui_3_16_0_1_1437510125940_32011"><br></div><div id="yui_3_16_0_1_1437510125940_15999" class="qtdSeparateBR"><br><br></div><div id="yui_3_16_0_1_1437510125940_17042" style="display: block;" class="yahoo_quoted"> <div id="yui_3_16_0_1_1437510125940_17041" style="font-family: lucida console, sans-serif; font-size: 13px;"> <div id="yui_3_16_0_1_1437510125940_17040" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_1_1437510125940_25187" dir="ltr"> <font id="yui_3_16_0_1_1437510125940_25186" face="Arial" size="2"> On Tuesday, July 21, 2015 8:40 AM, Yuya Nishihara <yuya@tcha.org> wrote:<br> </font> </div>  <br><br> <div id="yui_3_16_0_1_1437510125940_17039" class="y_msg_container">On Mon, 20 Jul 2015 23:27:02 +0000 (UTC), Peter Elmers wrote:<br clear="none">> # HG changeset patch<br clear="none">> # User Peter Elmers <<a shape="rect" ymailto="mailto:peter.elmers@yahoo.com" href="mailto:peter.elmers@yahoo.com">peter.elmers@yahoo.com</a>><br clear="none">> # Date 1437434738 25200<br clear="none">> #      Mon Jul 20 16:25:38 2015 -0700<br clear="none">> # Node ID c0f73a10ceb96a60c178f6057ce90309d08d3974<br clear="none">> # Parent  ec935041d1ff0fd2aa8cb666d79e6dcca398ddba<br clear="none">> Issue 3924: default version to 1.6, parse PKG-INFO.<br clear="none"><br clear="none">Thanks for the revised patch, but we prefer patch in body, not as an<br clear="none">attachment.<br clear="none"><br clear="none"><a id="yui_3_16_0_1_1437510125940_25188" shape="rect" href="https://mercurial.selenic.com/wiki/ContributingChanges#Submission_checklist" target="_blank">https://mercurial.selenic.com/wiki/ContributingChanges#Submission_checklist</a><br clear="none"><br clear="none">Couple of comments follow...<br clear="none"><br clear="none">> -# query Mercurial for version number<br clear="none">> -version = 'unknown'<br clear="none">> +version = '1.6'<br clear="none"><br clear="none">Hmm, it must be updated per release? That is what we want to avoid.<br clear="none"><br clear="none">>  elif os.path.exists('.hg_archival.txt'):<br clear="none">>      kw = dict([[t.strip() for t in l.split(':', 1)]<br clear="none">>                 for l in open('.hg_archival.txt')])<br clear="none">>      if 'tag' in kw:<br clear="none">> -        version =  kw['tag']<br clear="none">> +        version = kw['tag']<br clear="none"><br clear="none">Good catch, but whitespace cleanup should be a separate patch.<br clear="none"><br clear="none">>      elif 'latesttag' in kw:<br clear="none">>          version = '%(latesttag)s+%(latesttagdistance)s-%(node).12s' % kw<br clear="none">>      else:<br clear="none">>          version = kw.get('node', '')[:12]<br clear="none">> +elif os.path.exists('PKG-INFO'):<br clear="none">> +    with open('PKG-INFO') as pkginfo:<br clear="none">> +        kw = dict([[t.strip() for t in l.split(':', 1)]<br clear="none">> +                  for l in pkginfo if ':' in l])<br clear="none">> +        version = kw.get('Version', version)<br clear="none"><br clear="none">Perhaps hglib should be compatible with ancient Python, so I think "with"<br clear="none">statement isn't allowed.<div class="yqt1148858716" id="yqtfd46568"><br clear="none"></div><br><br></div>  </div> </div>  </div></div></body></html>