)]}'
{"setup.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"403767f53bbffd4fdd1f44f229ad51175bc494d1","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from setuptools import setup, find_packages"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from swift import __canonical_version__ as version"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def get_options(section, option):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bo3Y%3D","line":24,"updated":"2014-02-20 03:06:02.000000000","message":"it wouldn\u0027t be so terrible as a packager if I could override this when I sdist, a la PBR_VERSION (i.e. the shutup pbr I know what I\u0027m doing flag)\n\nAnd then if the __init__.py continues to use pkg_resources when you have an installed swift you\u0027ll get your packagers version (which is normally incrementing in some sane way against the last upstream version release)","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"1a900a3e319bb10330aa065260d6ba52842b24ac","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from setuptools import setup, find_packages"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from swift import __canonical_version__ as version"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def get_options(section, option):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Biho%3D","line":24,"in_reply_to":"AAAAUX%2F%2Bo3Y%3D","updated":"2014-02-20 16:27:00.000000000","message":"Would this happen if the __canonical_version__ had been done by pbr in the __init__.py? IOW, if he makes the change to allow pbr to set the version if installed over there, would that make this over here okay?","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"403767f53bbffd4fdd1f44f229ad51175bc494d1","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Read and parse setup.cfg"},{"line_number":37,"context_line":"config \u003d RawConfigParser()"},{"line_number":38,"context_line":"config.read(\u0027setup.cfg\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"setup("},{"line_number":41,"context_line":"    name\u003dconfig.get(\u0027metadata\u0027, \u0027name\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bo70%3D","line":38,"updated":"2014-02-20 03:06:02.000000000","message":"it so super obvious that we don\u0027t want to annotate this is as a global \"CONFIG\"","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"1a900a3e319bb10330aa065260d6ba52842b24ac","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"# Read and parse setup.cfg"},{"line_number":37,"context_line":"config \u003d RawConfigParser()"},{"line_number":38,"context_line":"config.read(\u0027setup.cfg\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"setup("},{"line_number":41,"context_line":"    name\u003dconfig.get(\u0027metadata\u0027, \u0027name\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bii0%3D","line":38,"in_reply_to":"AAAAUX%2F%2Bo70%3D","updated":"2014-02-20 16:27:00.000000000","message":"I\u0027m not sure I translated that from the tone properly, but you just want the config var to be renamed to something less like _config?","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"403767f53bbffd4fdd1f44f229ad51175bc494d1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027paste.filter_factory\u0027: get_options(\u0027entry_points\u0027,"},{"line_number":56,"context_line":"                                            \u0027paste.filter_factory\u0027),"},{"line_number":57,"context_line":"    },"},{"line_number":58,"context_line":")"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bo60%3D","line":58,"updated":"2014-02-20 03:06:02.000000000","message":"Is this needed because setuptools 0.6.9 or whatever that old version is doesn\u0027t *support* setup.cfg?  I didn\u0027t think setup.cfg was particularly pbr specific... also don\u0027t you want to in some cases pass pbr\u003dTrue to setup - I think there was talk of a os.environ","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"49fd268fcc126e1a1a243002c5893aaafb7c47db","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        \u0027paste.filter_factory\u0027: get_options(\u0027entry_points\u0027,"},{"line_number":56,"context_line":"                                            \u0027paste.filter_factory\u0027),"},{"line_number":57,"context_line":"    },"},{"line_number":58,"context_line":")"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2BfCc%3D","line":58,"in_reply_to":"AAAAUX%2F%2Bo60%3D","updated":"2014-02-20 22:57:17.000000000","message":"setup.cfg was introduced by distutils2 and adopted by pbr.  I tried to keep things sane, while still allowing pbr to work.","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"}],"swift/__init__.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"403767f53bbffd4fdd1f44f229ad51175bc494d1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    # we\u0027re installed on a system, we\u0027re not in a Git-managed source tree, so"},{"line_number":25,"context_line":"    # pbr doesn\u0027t really buy us anything."},{"line_number":26,"context_line":"    __version__ \u003d __canonical_version__ \u003d pkg_resources.get_provider("},{"line_number":27,"context_line":"        pkg_resources.Requirement.parse(\u0027swift\u0027)).version"},{"line_number":28,"context_line":"except pkg_resources.DistributionNotFound:"},{"line_number":29,"context_line":"    # No PKG-INFO? We\u0027re probably running from a checkout, then. Let pbr do"},{"line_number":30,"context_line":"    # its thing to figure out a version number."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bo9s%3D","side":"PARENT","line":27,"updated":"2014-02-20 03:06:02.000000000","message":"I think using the pkg_resources version when you\u0027re installed is probably a fine idea - don\u0027t see any good reason to drop this part of the try?","commit_id":"778009e38c60960eb343542d5815f00efff569d7"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"49fd268fcc126e1a1a243002c5893aaafb7c47db","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    # we\u0027re installed on a system, we\u0027re not in a Git-managed source tree, so"},{"line_number":25,"context_line":"    # pbr doesn\u0027t really buy us anything."},{"line_number":26,"context_line":"    __version__ \u003d __canonical_version__ \u003d pkg_resources.get_provider("},{"line_number":27,"context_line":"        pkg_resources.Requirement.parse(\u0027swift\u0027)).version"},{"line_number":28,"context_line":"except pkg_resources.DistributionNotFound:"},{"line_number":29,"context_line":"    # No PKG-INFO? We\u0027re probably running from a checkout, then. Let pbr do"},{"line_number":30,"context_line":"    # its thing to figure out a version number."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2BfBA%3D","side":"PARENT","line":27,"in_reply_to":"AAAAUX%2F%2Bij0%3D","updated":"2014-02-20 22:57:17.000000000","message":"Yeah I don\u0027t have a strong opinion here, other than john mentioned that he wanted to set versions.","commit_id":"778009e38c60960eb343542d5815f00efff569d7"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"1a900a3e319bb10330aa065260d6ba52842b24ac","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    # we\u0027re installed on a system, we\u0027re not in a Git-managed source tree, so"},{"line_number":25,"context_line":"    # pbr doesn\u0027t really buy us anything."},{"line_number":26,"context_line":"    __version__ \u003d __canonical_version__ \u003d pkg_resources.get_provider("},{"line_number":27,"context_line":"        pkg_resources.Requirement.parse(\u0027swift\u0027)).version"},{"line_number":28,"context_line":"except pkg_resources.DistributionNotFound:"},{"line_number":29,"context_line":"    # No PKG-INFO? We\u0027re probably running from a checkout, then. Let pbr do"},{"line_number":30,"context_line":"    # its thing to figure out a version number."}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bij0%3D","side":"PARENT","line":27,"in_reply_to":"AAAAUX%2F%2Bo9s%3D","updated":"2014-02-20 16:27:00.000000000","message":"Yeah, I can see your points on the comments in this file. Probably Chuck got to this point by doing a revert and working from there rather than patching what ended up with?\n\nEither way, seems it could be reworked to fallback when/if import pbr fails.","commit_id":"778009e38c60960eb343542d5815f00efff569d7"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"403767f53bbffd4fdd1f44f229ad51175bc494d1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    import pbr.version"},{"line_number":32,"context_line":"    _version_info \u003d pbr.version.VersionInfo(\u0027swift\u0027)"},{"line_number":33,"context_line":"    __version__ \u003d _version_info.release_string()"},{"line_number":34,"context_line":"    __canonical_version__ \u003d _version_info.version_string()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"_localedir \u003d os.environ.get(\u0027SWIFT_LOCALEDIR\u0027)"},{"line_number":37,"context_line":"_t \u003d gettext.translation(\u0027swift\u0027, localedir\u003d_localedir, fallback\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bo9U%3D","side":"PARENT","line":34,"updated":"2014-02-20 03:06:02.000000000","message":"I don\u0027t really *mind* having the pbr version (with the git sha and all that) available when I\u0027m running in dev and have all the requirements pbr installed anyway... why not just fall back to the hard coded version when pbr throws an ImportError?","commit_id":"778009e38c60960eb343542d5815f00efff569d7"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"49fd268fcc126e1a1a243002c5893aaafb7c47db","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    import pbr.version"},{"line_number":32,"context_line":"    _version_info \u003d pbr.version.VersionInfo(\u0027swift\u0027)"},{"line_number":33,"context_line":"    __version__ \u003d _version_info.release_string()"},{"line_number":34,"context_line":"    __canonical_version__ \u003d _version_info.version_string()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"_localedir \u003d os.environ.get(\u0027SWIFT_LOCALEDIR\u0027)"},{"line_number":37,"context_line":"_t \u003d gettext.translation(\u0027swift\u0027, localedir\u003d_localedir, fallback\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2BfAk%3D","side":"PARENT","line":34,"in_reply_to":"AAAAUX%2F%2Bo9U%3D","updated":"2014-02-20 22:57:17.000000000","message":"that was actually my first pass before committing and changing to a set version.  Like I said, I don\u0027t have a strong opinion either way.","commit_id":"778009e38c60960eb343542d5815f00efff569d7"}],"test/unit/common/test_init.py":[{"author":{"_account_id":2226,"name":"William Kelly","email":"the.william.kelly@gmail.com","username":"the-william-kelly"},"change_message_id":"1f4cee284b89eee25fa21054672e92da3250d1bf","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class TestVersioning(unittest.TestCase):"},{"line_number":22,"context_line":"    def test_canonical_version_is_clean(self):"},{"line_number":23,"context_line":"        \"\"\"Ensure that a non-clean canonical_version never happens\"\"\""},{"line_number":24,"context_line":"        pattern \u003d re.compile(\u0027^\\d+(\\.\\d+)*$\u0027)"},{"line_number":25,"context_line":"        self.assertTrue(pattern.match(swift.__canonical_version__) is not None)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_canonical_version_equals_version_for_final(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B2XM%3D","line":24,"updated":"2014-02-18 16:27:37.000000000","message":"Here\u0027s a nit from one of my coworkers who cannot work the launchpad: this should probably be re.compile(r\u0027^\\d+(\\.\\d+)*$\u0027) to avoid potential troubles with escape sequences should the pattern need to be updated.","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"1a900a3e319bb10330aa065260d6ba52842b24ac","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class TestVersioning(unittest.TestCase):"},{"line_number":22,"context_line":"    def test_canonical_version_is_clean(self):"},{"line_number":23,"context_line":"        \"\"\"Ensure that a non-clean canonical_version never happens\"\"\""},{"line_number":24,"context_line":"        pattern \u003d re.compile(\u0027^\\d+(\\.\\d+)*$\u0027)"},{"line_number":25,"context_line":"        self.assertTrue(pattern.match(swift.__canonical_version__) is not None)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_canonical_version_equals_version_for_final(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2Bil8%3D","line":24,"in_reply_to":"AAAAUX%2F%2B2GE%3D","updated":"2014-02-20 16:27:00.000000000","message":"Still if you once again have to commit, r\u0027...\u0027 that bit. ;)","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"bf3eeab96e55a42eddca8c784f478871f0abdc33","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class TestVersioning(unittest.TestCase):"},{"line_number":22,"context_line":"    def test_canonical_version_is_clean(self):"},{"line_number":23,"context_line":"        \"\"\"Ensure that a non-clean canonical_version never happens\"\"\""},{"line_number":24,"context_line":"        pattern \u003d re.compile(\u0027^\\d+(\\.\\d+)*$\u0027)"},{"line_number":25,"context_line":"        self.assertTrue(pattern.match(swift.__canonical_version__) is not None)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_canonical_version_equals_version_for_final(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2B2GE%3D","line":24,"in_reply_to":"AAAAUX%2F%2B2XM%3D","updated":"2014-02-18 16:54:57.000000000","message":"god help us if we ever need escaped character sequences in version numbers :)","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"},{"author":{"_account_id":917,"name":"Chuck Thier","email":"cthier@gmail.com","username":"cthier"},"change_message_id":"49fd268fcc126e1a1a243002c5893aaafb7c47db","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class TestVersioning(unittest.TestCase):"},{"line_number":22,"context_line":"    def test_canonical_version_is_clean(self):"},{"line_number":23,"context_line":"        \"\"\"Ensure that a non-clean canonical_version never happens\"\"\""},{"line_number":24,"context_line":"        pattern \u003d re.compile(\u0027^\\d+(\\.\\d+)*$\u0027)"},{"line_number":25,"context_line":"        self.assertTrue(pattern.match(swift.__canonical_version__) is not None)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def test_canonical_version_equals_version_for_final(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUX%2F%2BfAU%3D","line":24,"in_reply_to":"AAAAUX%2F%2Bil8%3D","updated":"2014-02-20 22:57:17.000000000","message":":)","commit_id":"7df76abd9e86374e66be45bad12dd8b58d1e0ca7"}]}
