id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc,release
5357,UnicodeDecodeError on UTF-8 encoded filenames,spoke,anonymous,I just try the plugin version 0.11 on trac 0.11.1_ 0.11.5 and trunk_ and I allways get this error: \r\n\r\nPlease_ note that trac works fine if using SVN as backend.\r\n\r\n{{{\r\nTrac detected an internal error:\r\n\r\nProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.\r\n}}}\r\n\r\n{{{\r\nMost recent call last:\r\n\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"_ line 464_ in _dispatch_request\r\n      Code fragment:\r\n       459. try:\r\n       460. if not env and env_error:\r\n       461. raise HTTPInternalError(env_error)\r\n       462. try:\r\n       463. dispatcher = RequestDispatcher(env)\r\n       464. dispatcher.dispatch(req)\r\n       465. except RequestDone:\r\n       466. pass\r\n       467. resp = req._response or []\r\n       468.  \r\n       469. except HTTPException_ e:\r\n      Local variables:\r\n      Name	Value\r\n      after 	[u' except RequestDone:'_ u' pass'_ u' resp = ...\r\n      before 	[u' try:'_ u' if not env and env_error:'_ u' raise ...\r\n      dispatcher 	<trac.web.main.RequestDispatcher object at 0x8bb984c>\r\n      e 	ProgrammingError('You must not use 8-bit bytestrings unless you use a ...\r\n      env 	<trac.env.Environment object at 0x875060c>\r\n      env_error 	None\r\n      exc_info 	(<class 'pysqlite2.dbapi2.ProgrammingError'>_ ProgrammingError('You must ...\r\n      filename 	'/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/mai ...\r\n      frames 	[{'function': '_dispatch_request'_ 'lines_before': [u' try:'_ u' ...\r\n      has_admin 	True\r\n      line 	u' dispatcher.dispatch(req)'\r\n      lineno 	463\r\n      message 	u'ProgrammingError: You must not use 8-bit bytestrings unless you use a ...\r\n      req 	<Request "GET u'/login'">\r\n      resp 	[]\r\n      tb 	<traceback object at 0x8e09694>\r\n      tb_hide 	None\r\n      traceback 	u'Traceback (most recent call last):\\n File ...\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"_ line 181_ in dispatch\r\n      Code fragment:\r\n       176. if not req.path_info or req.path_info == '/':\r\n       177. chosen_handler = self.default_handler\r\n       178. # pre-process any incoming request_ whether a handler\r\n       179. # was found or not\r\n       180. chosen_handler = self._pre_process_request(req_\r\n       181. chosen_handler)\r\n       182. except TracError_ e:\r\n       183. raise HTTPInternalError(e)\r\n       184. if not chosen_handler:\r\n       185. if req.path_info.endswith('/'):\r\n       186. # Strip trailing / and redirect\r\n      Local variables:\r\n      Name	Value\r\n      chosen_handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>\r\n      chrome 	<trac.web.chrome.Chrome object at 0x8b6de4c>\r\n      err 	(<class 'pysqlite2.dbapi2.ProgrammingError'>_ ProgrammingError('You must ...\r\n      handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>\r\n      req 	<Request "GET u'/login'">\r\n      self 	<trac.web.main.RequestDispatcher object at 0x8bb984c>\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"_ line 317_ in _pre_process_request\r\n      Code fragment:\r\n       312. req.outcookie['trac_form_token']['secure'] = True\r\n       313. return req.outcookie['trac_form_token'].value\r\n       314.  \r\n       315. def _pre_process_request(self_ req_ chosen_handler):\r\n       316. for filter_ in self.filters:\r\n       317. chosen_handler = filter_.pre_process_request(req_ chosen_handler)\r\n       318. return chosen_handler\r\n       319.  \r\n       320. def _post_process_request(self_ req_ *args):\r\n       321. nbargs = len(args)\r\n       322. resp = args\r\n      Local variables:\r\n      Name	Value\r\n      chosen_handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>\r\n      filter_ 	<trac.versioncontrol.api.RepositoryManager object at 0x8bb9dac>\r\n      req 	<Request "GET u'/login'">\r\n      self 	<trac.web.main.RequestDispatcher object at 0x8bb984c>\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/versioncontrol/api.py"_ line 86_ in pre_process_request\r\n      Code fragment:\r\n        81.  \r\n        82. def pre_process_request(self_ req_ handler):\r\n        83. from trac.web.chrome import Chrome_ add_warning\r\n        84. if handler is not Chrome(self.env):\r\n        85. try:\r\n        86. self.get_repository(req.authname).sync()\r\n        87. except TracError_ e:\r\n        88. add_warning(req_ _("Can't synchronize with the repository "\r\n        89. "(%(error)s). Look in the Trac log for more "\r\n        90. "information."_ error=to_unicode(e.message)))\r\n        91.\r\n      Local variables:\r\n      Name	Value\r\n      Chrome 	<class 'trac.web.chrome.Chrome'>\r\n      add_warning 	<function add_warning at 0x8803b54>\r\n      handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>\r\n      req 	<Request "GET u'/login'">\r\n      self 	<trac.versioncontrol.api.RepositoryManager object at 0x8bb9dac>\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/versioncontrol/cache.py"_ line 213_ in sync\r\n      Code fragment:\r\n       208. cursor.execute("INSERT INTO node_change "\r\n       209. " (rev_path_node_type_change_type_ "\r\n       210. " base_path_base_rev) "\r\n       211. "VALUES (%s_%s_%s_%s_%s_%s)"_\r\n       212. (str(next_youngest)_\r\n       213. path_ kind_ action_ bpath_ brev))\r\n       214.  \r\n       215. # 1.3. iterate (1.1 should always succeed now)\r\n       216. self.youngest = next_youngest\r\n       217. next_youngest = self.repos.next_rev(next_youngest)\r\n       218.  \r\n      Local variables:\r\n      Name	Value\r\n      action 	'A'\r\n      actionmap 	{'edit': 'E'_ 'add': 'A'_ 'move': 'M'_ 'copy': 'C'_ 'delete': 'D'}\r\n      authz 	<trac.versioncontrol.api.Authorizer object at 0x8d89bac>\r\n      bpath 	''\r\n      brev 	None\r\n      cset 	<tracext.git.git_fs.GitChangeset object at 0x8cf0aac>\r\n      cursor 	<trac.db.util.IterableCursor object at 0x8e3f12c>\r\n      db 	<trac.db.pool.PooledConnection object at 0x8e0984c>\r\n      feedback 	None\r\n      key 	'youngest_rev'\r\n      kind 	'F'\r\n      kindmap 	{'file': 'F'_ 'dir': 'D'}\r\n      metadata 	{u'youngest_rev': u''_ u'repository_dir': u'git:/home/www/git/test/.git'}\r\n      name 	u'youngest_rev'\r\n      next_youngest 	'b4c60abd772d7c8192b8cf3f46d44978eccdc7b0'\r\n      path 	'doc/analysis/Metodolog\\xc3\\x83\\xc2\\xada de almacenamiento de datos en el ...\r\n      repos_youngest 	'73f1a95e8d2a161987c16d56cb223e40666ee63b'\r\n      repository_dir 	u'git:/home/www/git/test/.git'\r\n      self 	<tracext.git.git_fs.CachedRepository2 object at 0x8d5a0ec>\r\n      value 	u''\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/db/util.py"_ line 59_ in execute\r\n      Code fragment:\r\n        54. return self.cursor.execute(sql)\r\n        55. except Exception_ e:\r\n        56. self.log.debug('execute exception: %r'_ e)\r\n        57. raise\r\n        58. if args:\r\n        59. return self.cursor.execute(sql_escape_percent(sql)_ args)\r\n        60. return self.cursor.execute(sql)\r\n        61.  \r\n        62. def executemany(self_ sql_ args=None):\r\n        63. if self.log:\r\n        64. self.log.debug('SQL: %r'_ sql)\r\n      Local variables:\r\n      Name	Value\r\n      args 	('b4c60abd772d7c8192b8cf3f46d44978eccdc7b0'_ ...\r\n      self 	<trac.db.util.IterableCursor object at 0x8e3f12c>\r\n      sql 	'INSERT INTO node_change (rev_path_node_type_change_type_ ...\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/db/sqlite_backend.py"_ line 59_ in execute\r\n      Code fragment:\r\n        54. raise\r\n        55. def execute(self_ sql_ args=None):\r\n        56. if args:\r\n        57. sql = sql % (('?'_) * len(args))\r\n        58. return self._rollback_on_error(sqlite.Cursor.execute_ sql_\r\n        59. args or [])\r\n        60. def executemany(self_ sql_ args=None):\r\n        61. if args:\r\n        62. sql = sql % (('?'_) * len(args[0]))\r\n        63. return self._rollback_on_error(sqlite.Cursor.executemany_ sql_\r\n        64. args or [])\r\n      Local variables:\r\n      Name	Value\r\n      args 	('b4c60abd772d7c8192b8cf3f46d44978eccdc7b0'_ ...\r\n      self 	<trac.db.sqlite_backend.PyFormatCursor object at 0x880a2fc>\r\n      sql 	'INSERT INTO node_change (rev_path_node_type_change_type_ ...\r\n    * File "/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/db/sqlite_backend.py"_ line 51_ in _rollback_on_error \r\n}}},defect,reopened,highest,GitPlugin,blocker,,,xelnor,0.12
