)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"9114cc8f44d2bb360824987c722cbbc3cb3203fd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The paths used by the file driver will always contain a starting"},{"line_number":10,"context_line":"slash, which causes issues on Windows."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also, UNC paths are not properly handled. For example, if a backend"},{"line_number":13,"context_line":"url such as file://ip/share is used, the \u0027\\\\ip\\share\u0027 location"},{"line_number":14,"context_line":"should be the lock dir. At the moment, the share address is ignored,"},{"line_number":15,"context_line":"ending up with a path such as \u0027/share\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"os.path.abspath does not properly handle UNC paths, so a check"},{"line_number":18,"context_line":"was added to avoid ending up with paths such as \u0027C:\\\\ip\\share\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_e7b65489","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":39},"updated":"2016-07-04 13:00:31.000000000","message":"Because that should be file:///ip/share","commit_id":"face315def3b4ad5842b3dec7e1d9d4aded3d793"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"da158da696abb0c86306f94c1fd6bb93c538e386","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The paths used by the file driver will always contain a starting"},{"line_number":10,"context_line":"slash, which causes issues on Windows."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also, UNC paths are not properly handled. For example, if a backend"},{"line_number":13,"context_line":"url such as file://ip/share is used, the \u0027\\\\ip\\share\u0027 location"},{"line_number":14,"context_line":"should be the lock dir. At the moment, the share address is ignored,"},{"line_number":15,"context_line":"ending up with a path such as \u0027/share\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"os.path.abspath does not properly handle UNC paths, so a check"},{"line_number":18,"context_line":"was added to avoid ending up with paths such as \u0027C:\\\\ip\\share\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_d6e8247f","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":39},"in_reply_to":"1aa78d24_b08800e9","updated":"2016-07-04 14:35:59.000000000","message":"Yes, so it\u0027s not clear to me what is or is not a bug anymore here?","commit_id":"face315def3b4ad5842b3dec7e1d9d4aded3d793"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"0a1a679fd251a0a28999e7e997132ba2feb17531","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The paths used by the file driver will always contain a starting"},{"line_number":10,"context_line":"slash, which causes issues on Windows."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also, UNC paths are not properly handled. For example, if a backend"},{"line_number":13,"context_line":"url such as file://ip/share is used, the \u0027\\\\ip\\share\u0027 location"},{"line_number":14,"context_line":"should be the lock dir. At the moment, the share address is ignored,"},{"line_number":15,"context_line":"ending up with a path such as \u0027/share\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"os.path.abspath does not properly handle UNC paths, so a check"},{"line_number":18,"context_line":"was added to avoid ending up with paths such as \u0027C:\\\\ip\\share\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_adec26c8","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":39},"in_reply_to":"1aa78d24_d6e8247f","updated":"2016-07-04 15:12:04.000000000","message":"I\u0027ve updated the bug description/commit message.\n\nTo be honest, I was a bit confused by the expected path format. The only issue that remains is the starting slash and the fact that we do not normalize the paths.\n\nSo, for file:////ip_addr/share we must get \\\\ip_addr\\share, while for file:///c:/path we must get C:\\path. The latest patch set ensures that will be the behavior.","commit_id":"face315def3b4ad5842b3dec7e1d9d4aded3d793"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"8ee495a999e0d02fe65bc96a6ee7a9eacb849037","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The paths used by the file driver will always contain a starting"},{"line_number":10,"context_line":"slash, which causes issues on Windows."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also, UNC paths are not properly handled. For example, if a backend"},{"line_number":13,"context_line":"url such as file://ip/share is used, the \u0027\\\\ip\\share\u0027 location"},{"line_number":14,"context_line":"should be the lock dir. At the moment, the share address is ignored,"},{"line_number":15,"context_line":"ending up with a path such as \u0027/share\u0027."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"os.path.abspath does not properly handle UNC paths, so a check"},{"line_number":18,"context_line":"was added to avoid ending up with paths such as \u0027C:\\\\ip\\share\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1aa78d24_b08800e9","line":15,"range":{"start_line":12,"start_character":0,"end_line":15,"end_character":39},"in_reply_to":"1aa78d24_e7b65489","updated":"2016-07-04 14:28:51.000000000","message":"Actually, we\u0027d get:\n\nnetutils.urlsplit(\u0027file:///ip/share\u0027)\nSplitResult(scheme\u003d\u0027file\u0027, netloc\u003d\u0027\u0027, path\u003d\u0027/ip/share\u0027, query\u003d\u0027\u0027, fragment\u003d\u0027\u0027)\n\nso I think it should be file:////ip/share, in which case we already get the expected path //ip/share.","commit_id":"face315def3b4ad5842b3dec7e1d9d4aded3d793"}],"tooz/drivers/file.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"8ce98aff7d962d4dd9557918767c5f12139e25d6","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        self._joined_groups \u003d set()"},{"line_number":244,"context_line":"        self._safe_member_id \u003d self._make_filesystem_safe(member_id)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def _get_base_dir(self, parsed_url):"},{"line_number":247,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"},{"line_number":248,"context_line":"            # Make sure we don\u0027t have a starting backslash in case of"},{"line_number":249,"context_line":"            # paths including a drive letter."},{"line_number":250,"context_line":"            #"},{"line_number":251,"context_line":"            # Expected path format:"},{"line_number":252,"context_line":"            # file:////share_address/share_name"},{"line_number":253,"context_line":"            # file:///C:/path"},{"line_number":254,"context_line":"            base_dir \u003d re.sub(r\u0027\\\\(?\u003d[a-z]:\\\\)\u0027, \u0027\u0027,"},{"line_number":255,"context_line":"                              os.path.normpath(parsed_url.path))"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            base_dir \u003d parsed_url.path"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        return base_dir"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    @classmethod"},{"line_number":262,"context_line":"    def _get_raw_lock(cls, path, member_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_a081cd4c","line":259,"range":{"start_line":246,"start_character":4,"end_line":259,"end_character":23},"updated":"2016-07-04 15:24:05.000000000","message":"@staticmethod\ndef _get_base_dir(path):\n    if sys.platform \u003d\u003d \u0027win32\u0027:\n        return re.sub(…)\n    return path","commit_id":"a327f3426d076c83fc74f6b2a72f7a9445d94fbf"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"aeaba5e9f937f0539742ce732805ddce17d2a8a4","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        self._joined_groups \u003d set()"},{"line_number":244,"context_line":"        self._safe_member_id \u003d self._make_filesystem_safe(member_id)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def _get_base_dir(self, parsed_url):"},{"line_number":247,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"},{"line_number":248,"context_line":"            # Make sure we don\u0027t have a starting backslash in case of"},{"line_number":249,"context_line":"            # paths including a drive letter."},{"line_number":250,"context_line":"            #"},{"line_number":251,"context_line":"            # Expected path format:"},{"line_number":252,"context_line":"            # file:////share_address/share_name"},{"line_number":253,"context_line":"            # file:///C:/path"},{"line_number":254,"context_line":"            base_dir \u003d re.sub(r\u0027\\\\(?\u003d[a-z]:\\\\)\u0027, \u0027\u0027,"},{"line_number":255,"context_line":"                              os.path.normpath(parsed_url.path))"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            base_dir \u003d parsed_url.path"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        return base_dir"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    @classmethod"},{"line_number":262,"context_line":"    def _get_raw_lock(cls, path, member_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_40f2a9d3","line":259,"range":{"start_line":246,"start_character":4,"end_line":259,"end_character":23},"in_reply_to":"1aa78d24_a081cd4c","updated":"2016-07-04 15:27:21.000000000","message":"Good point.","commit_id":"a327f3426d076c83fc74f6b2a72f7a9445d94fbf"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"3d0a2b62cf709d732d7017f269dc65e5fe487f56","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        self._safe_member_id \u003d self._make_filesystem_safe(member_id)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @staticmethod"},{"line_number":247,"context_line":"    def _get_base_dir(parsed_url):"},{"line_number":248,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"},{"line_number":249,"context_line":"            # Make sure we normalize the path and that we don\u0027t have"},{"line_number":250,"context_line":"            # a starting backslash in case of paths including a"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_9981a84d","line":247,"updated":"2016-07-04 16:48:28.000000000","message":"I really insist you just pass the path, there\u0027s no need for the whole parsed url here :)","commit_id":"ce9c0ccecde7f59f27013888f10f13def0d1649a"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"e147aab241ef8c1564ee2cc508a548323ad10847","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        self._safe_member_id \u003d self._make_filesystem_safe(member_id)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    @staticmethod"},{"line_number":247,"context_line":"    def _get_base_dir(parsed_url):"},{"line_number":248,"context_line":"        if sys.platform \u003d\u003d \u0027win32\u0027:"},{"line_number":249,"context_line":"            # Make sure we normalize the path and that we don\u0027t have"},{"line_number":250,"context_line":"            # a starting backslash in case of paths including a"}],"source_content_type":"text/x-python","patch_set":3,"id":"1aa78d24_43cd8e5c","line":247,"in_reply_to":"1aa78d24_9981a84d","updated":"2016-07-04 18:10:41.000000000","message":"Sure, updating it right now.\n\nIt just felt a bit tied to the output we got from netutils.","commit_id":"ce9c0ccecde7f59f27013888f10f13def0d1649a"}]}
