﻿ticket,summary,type,release,owner,__group__,created,modified,_description,_reporter
746,Improve performance of GitPlugin,task,0.10,stuge,closed,2006-09-29T12:45:16+02:00,2015-05-31T20:34:53+02:00,"The current implementation relies heavely on `git-core` executables, therefore each information retrieval that needs to access the git repository costs a `fork()`, making it quite an expensive operation. Therefore performance is quite low right now.

A better performance should be possible to accomplish by:
 * caching meta data
 * optimize GitNode.get_content_length()
 * access the git repository more efficiently ",Herbert Valerio Riedel
6494,TracGitPlug-in: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings,defect,0.12,Samat Jain,closed,2010-01-25T18:09:57+01:00,2013-05-23T09:25:50+02:00,"I always got this message while TracGitPlugin is enable:
{{{
ProgrammingError: 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.
}}}

View it online: http://proj.shuge.org/pm/browser

Python Traceback
Most recent call last:
{{{
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 495, in _dispatch_request
      Code fragment:
      Line	
      490	try:
      491	if not env and env_error:
      492	raise HTTPInternalError(env_error)
      493	try:
      494	dispatcher = RequestDispatcher(env)
      495	dispatcher.dispatch(req)
      496	except RequestDone:
      497	pass
      498	resp = req._response or []
      499	 
      500	except HTTPException, e:
      Local variables:
      Name	Value
      dispatcher 	<trac.web.main.RequestDispatcher object at 0x1c30d10>
      e 	ProgrammingError('You must not use 8-bit bytestrings unless you use a ...
      env 	<trac.env.Environment object at 0x16ed2d0>
      env_error 	None
      exc_info 	(<class 'pysqlite2.dbapi2.ProgrammingError'>, ProgrammingError('You must ...
      faulty_plugins 	[]
      frames 	[]
      has_admin 	True
      message 	u'ProgrammingError: You must not use 8-bit bytestrings unless you use a ...
      plugins 	[]
      req 	<Request ""GET u'/browser'"">
      resp 	[]
      th 	'http://trac-hacks.org'
      traceback 	u'Traceback (most recent call last):\n File ...
      tracker 	'http://trac.edgewall.org'
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 196, in dispatch
      Code fragment:
      Line	
      191	if not req.path_info or req.path_info == '/':
      192	chosen_handler = self.default_handler
      193	# pre-process any incoming request, whether a handler
      194	# was found or not
      195	chosen_handler = self._pre_process_request(req,
      196	chosen_handler)
      197	except TracError, e:
      198	raise HTTPInternalError(e)
      199	if not chosen_handler:
      200	if req.path_info.endswith('/'):
      201	# Strip trailing / and redirect
      Local variables:
      Name	Value
      chosen_handler 	<trac.versioncontrol.web_ui.browser.BrowserModule object at 0x1c30f10>
      chrome 	<trac.web.chrome.Chrome object at 0x1b3fc90>
      err 	(<class 'pysqlite2.dbapi2.ProgrammingError'>, ProgrammingError('You must ...
      handler 	<trac.versioncontrol.web_ui.browser.BrowserModule object at 0x1c30f10>
      req 	<Request ""GET u'/browser'"">
      self 	<trac.web.main.RequestDispatcher object at 0x1c30d10>
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 339, in _pre_process_request
      Code fragment:
      Line	
      334	req.outcookie['trac_form_token']['secure'] = True
      335	return req.outcookie['trac_form_token'].value
      336	 
      337	def _pre_process_request(self, req, chosen_handler):
      338	for filter_ in self.filters:
      339	chosen_handler = filter_.pre_process_request(req, chosen_handler)
      340	return chosen_handler
      341	 
      342	def _post_process_request(self, req, *args):
      343	nbargs = len(args)
      344	resp = args
      Local variables:
      Name	Value
      chosen_handler 	<trac.versioncontrol.web_ui.browser.BrowserModule object at 0x1c30f10>
      filter_ 	<trac.versioncontrol.api.RepositoryManager object at 0x1c3c1d0>
      req 	<Request ""GET u'/browser'"">
      self 	<trac.web.main.RequestDispatcher object at 0x1c30d10>
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/versioncontrol/api.py"", line 83, in pre_process_request
      Code fragment:
      Line	
      78	 
      79	def pre_process_request(self, req, handler):
      80	from trac.web.chrome import Chrome, add_warning
      81	if handler is not Chrome(self.env):
      82	try:
      83	self.get_repository(req.authname).sync()
      84	except TracError, e:
      85	add_warning(req, _(""Can't synchronize with the repository ""
      86	""(%(error)s). Look in the Trac log for more ""
      87	""information."", error=to_unicode(e.message)))
      88	
      Local variables:
      Name	Value
      Chrome 	<class 'trac.web.chrome.Chrome'>
      add_warning 	<function add_warning at 0x168eb18>
      handler 	<trac.versioncontrol.web_ui.browser.BrowserModule object at 0x1c30f10>
      req 	<Request ""GET u'/browser'"">
      self 	<trac.versioncontrol.api.RepositoryManager object at 0x1c3c1d0>
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/versioncontrol/cache.py"", line 215, in sync
      Code fragment:
      Line	
      210	cursor.execute(""INSERT INTO node_change ""
      211	"" (rev,path,node_type,change_type, ""
      212	"" base_path,base_rev) ""
      213	""VALUES (%s,%s,%s,%s,%s,%s)"",
      214	(str(next_youngest),
      215	path, kind, action, bpath, brev))
      216	 
      217	# 1.3. iterate (1.1 should always succeed now)
      218	self.youngest = next_youngest
      219	next_youngest = self.repos.next_rev(next_youngest)
      220	 
      Local variables:
      Name	Value
      action 	'M'
      actionmap 	{'edit': 'E', 'add': 'A', 'move': 'M', 'copy': 'C', 'delete': 'D'}
      authz 	<trac.versioncontrol.api.Authorizer object at 0x1f96310>
      bpath 	'online/seed/urls.py'
      brev 	u'c81205e9841ea91f5e1f9f6a22d18279ff8d9120'
      cset 	<tracext.git.git_fs.GitChangeset object at 0x203e850>
      cursor 	<trac.db.util.IterableCursor object at 0x1e60f90>
      db 	<trac.db.pool.PooledConnection object at 0x18c3e10>
      feedback 	None
      key 	'youngest_rev'
      kind 	'F'
      kindmap 	{'file': 'F', 'dir': 'D'}
      metadata 	{u'youngest_rev': u'c81205e9841ea91f5e1f9f6a22d18279ff8d9120', ...
      name 	u'youngest_rev'
      next_youngest 	'c85a1a01b4f22c11bfd548e92e2dcf895467880d'
      path 	'online/repo/\xe5\xb7\xa5\xe4\xb8\x9a\xe6\x8a\x80\xe6\x9c\xaf/reStructuredT ...
      repos_youngest 	'ac25c1c5f18e91d86e93c5aa52fb95f80ecd18e6'
      repository_dir 	u'git:/home/lee/proj.shuge.org/shuge.git'
      self 	<tracext.git.git_fs.CachedRepository2 object at 0x1f96190>
      value 	u'c81205e9841ea91f5e1f9f6a22d18279ff8d9120'
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/util.py"", line 64, in execute
      Code fragment:
      Line	
      59	return r
      60	except Exception, e:
      61	self.log.debug('execute exception: %r', e)
      62	raise
      63	if args:
      64	return self.cursor.execute(sql_escape_percent(sql), args)
      65	return self.cursor.execute(sql)
      66	 
      67	def executemany(self, sql, args=None):
      68	if self.log:
      69	self.log.debug('SQL: %r', sql)
      Local variables:
      Name	Value
      args 	('c85a1a01b4f22c11bfd548e92e2dcf895467880d', ...
      self 	<trac.db.util.IterableCursor object at 0x1e60f90>
      sql 	'INSERT INTO node_change (rev,path,node_type,change_type, ...
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 76, in execute
      Code fragment:
      Line	
      71	PyFormatCursor.__init__(self, con)
      72	self.rows = []
      73	self.pos = 0
      74	 
      75	def execute(self, *args):
      76	result = PyFormatCursor.execute(self, *args)
      77	self.rows = PyFormatCursor.fetchall(self)
      78	self.pos = 0
      79	return result
      80	 
      81	def fetchone(self):
      Local variables:
      Name	Value
      args 	('INSERT INTO node_change (rev,path,node_type,change_type, ...
      self 	<trac.db.sqlite_backend.EagerCursor object at 0x1bcbe90>
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 55, in execute
      Code fragment:
      Line	
      50	raise
      51	def execute(self, sql, args=None):
      52	if args:
      53	sql = sql % (('?',) * len(args))
      54	return self._rollback_on_error(sqlite.Cursor.execute, sql,
      55	args or [])
      56	def executemany(self, sql, args=None):
      57	if args:
      58	sql = sql % (('?',) * len(args[0]))
      59	return self._rollback_on_error(sqlite.Cursor.executemany, sql,
      60	args or [])
      Local variables:
      Name	Value
      args 	('c85a1a01b4f22c11bfd548e92e2dcf895467880d', ...
      self 	<trac.db.sqlite_backend.EagerCursor object at 0x1bcbe90>
      sql 	'INSERT INTO node_change (rev,path,node_type,change_type, ...
    * File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 47, in _rollback_on_error
      Code fragment:
      Line	
      42	sqlite_version_string = '%d.%d.%d' % (_ver[0], _ver[1], int(_ver[2]))
      43	 
      44	class PyFormatCursor(sqlite.Cursor):
      45	def _rollback_on_error(self, function, *args, **kwargs):
      46	try:
      47	return function(self, *args, **kwargs)
      48	except sqlite.DatabaseError:
      49	self.cnx.rollback()
      50	raise
      51	def execute(self, sql, args=None):
      52	if args:
      Local variables:
      Name	Value
      args 	('INSERT INTO node_change (rev,path,node_type,change_type, ...
      function 	<method 'execute' of 'pysqlite2.dbapi2.Cursor' objects>
      kwargs 	{}
      self 	<trac.db.sqlite_backend.EagerCursor object at 0x1bcbe90>

File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 495, in _dispatch_request
  dispatcher.dispatch(req)
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 196, in dispatch
  chosen_handler)
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/web/main.py"", line 339, in _pre_process_request
  chosen_handler = filter_.pre_process_request(req, chosen_handler)
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/versioncontrol/api.py"", line 83, in pre_process_request
  self.get_repository(req.authname).sync()
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/versioncontrol/cache.py"", line 215, in sync
  path, kind, action, bpath, brev))
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/util.py"", line 64, in execute
  return self.cursor.execute(sql_escape_percent(sql), args)
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 76, in execute
  result = PyFormatCursor.execute(self, *args)
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 55, in execute
  args or [])
File ""/usr/lib64/python2.6/site-packages/Trac-0.12dev_r9078-py2.6.egg/trac/db/sqlite_backend.py"", line 47, in _rollback_on_error
  return function(self, *args, **kwargs)
}}}

{{{
Trac  	0.12dev-r9078
Python 	2.6.4 (r264:75706, Jan 19 2010, 02:05:06) [GCC 4.3.4]
setuptools 	0.6
pytz 	2009r
SQLite 	3.6.20
pysqlite 	2.5.6
Genshi 	0.6dev-r1092
Babel 	1.0dev-r482
Pygments 	1.1.1
GIT 	1.6.4.4
jQuery	1.3.2
}}}",Lee Li
4681,NameError: global name 'GitErrorCommit_Id' is not defined when trying to open the browser,defect,0.11,Herbert Valerio Riedel,closed,2009-02-22T16:53:03+01:00,2009-03-20T16:25:56+01:00,"I initialised a new trac environment and set it up for a Git repository. When I tried to view the browser, I got the following error:

Trac detected an internal error:
NameError: global name 'GitErrorCommit_Id' is not defined

The action that triggered the error was:
GET: /browser

This is the error from stderr:
09:22:54  IST Trac[main] ERROR: global name 'GitErrorCommit_Id' is not defined
Traceback (most recent call last):
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 423, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 197, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/browser.py"", line 361, in process_request
    'dir': node.isdir and self._render_dir(req, repos, node, rev),
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/browser.py"", line 408, in _render_dir
    changes = get_changes(repos, [i.rev for i in entries])
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/util.py"", line 38, in get_changes
    changeset = repos.get_changeset(rev)
  File ""/usr/lib/python2.5/site-packages/tracext/git/git_fs.py"", line 223, in get_changeset
    return GitChangeset(self.git, rev)
  File ""/usr/lib/python2.5/site-packages/tracext/git/git_fs.py"", line 389, in __init__
    (msg, props) = git.read_commit(sha)
  File ""/usr/lib/python2.5/site-packages/tracext/git/PyGIT.py"", line 486, in read_commit
    raise GitErrorCommit_Id
NameError: global name 'GitErrorCommit_Id' is not defined

I am running debian testing, with trac, git and trac-git installed through apt.",vedant@…
6398,Internal error if ticket text references SVN-like revision number (changeset),defect,0.12,Herbert Valerio Riedel,closed,2010-01-05T18:17:29+01:00,2015-05-31T20:34:53+02:00,"Internal error is issued if ticket text references SVN-like revision number (changeset), something like ""This is somethig done in r3314""; changeset 3314 of course does not exist in GIT repository. 

Browser displays:
{{{
Oops…
Trac detected an internal error:

AttributeError: 'NoneType' object has no attribute 'read_commit'

There was an internal error in Trac. It is recommended that you inform your local Trac administrator and give him all the information he needs to reproduce the issue.
}}}


Relevant part of log file is:
{{{
2010-01-05 18:04:54,414 Trac[perm] DEBUG: No policy allowed nenad performing TRAC_ADMIN on <Resource u'changeset:3314'>
2010-01-05 18:04:54,416 Trac[main] ERROR: Exception caught while post-processing request:
Traceback (most recent call last):
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/main.py"", line 239, in dispatch
    self._post_process_request(req)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/main.py"", line 311, in _post_process_request
    f.post_process_request(req, *(None,)*extra_arg_count)
  File ""build/bdist.linux-i686/egg/ticketmodifiedfiles/ticketmodifiedfiles.py"", line 46, in post_process_request
TypeError: object does not support item assignment
2010-01-05 18:04:54,418 Trac[main] ERROR: Internal Server Error:
Traceback (most recent call last):
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/main.py"", line 450, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/main.py"", line 227, in dispatch
    data, content_type)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/chrome.py"", line 773, in render_template
    stream.render(method, doctype=doctype, out=buffer)
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 179, in render
    return encode(generator, method=method, encoding=encoding, out=out)
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 61, in encode
    for chunk in iterator:
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 311, in __call__
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 753, in __call__
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 592, in __call__
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 698, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File ""/usr/lib/python2.4/site-packages/genshi/output.py"", line 532, in __call__
    for ev in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/chrome.py"", line 838, in _strip_accesskeys
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/chrome.py"", line 827, in _generate
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 686, in _unmark
    for mark, event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 1086, in __call__
    for mark, event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 117, in __iter__
    event = self.stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 725, in __call__
    mark, subevent = stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 682, in _mark
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 686, in _unmark
    for mark, event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 1055, in __call__
    for mark, event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 117, in __iter__
    event = self.stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 713, in __call__
    for mark, event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/filters/transform.py"", line 682, in _mark
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 569, in _include
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/markup.py"", line 298, in _match
    ctxt, start=idx + 1, **vars):
  File ""/usr/lib/python2.4/site-packages/genshi/template/markup.py"", line 298, in _match
    ctxt, start=idx + 1, **vars):
  File ""/usr/lib/python2.4/site-packages/genshi/template/markup.py"", line 245, in _match
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 543, in _exec
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 533, in _eval
    for event in substream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 496, in _eval
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 551, in _flatten
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/path.py"", line 141, in _generate
    subevent = stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 569, in _include
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/markup.py"", line 234, in _strip
    event = stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 543, in _exec
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 533, in _eval
    for event in substream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 496, in _eval
    for kind, data, pos in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 551, in _flatten
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/core.py"", line 283, in _ensure
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/path.py"", line 141, in _generate
    subevent = stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 569, in _include
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/markup.py"", line 234, in _strip
    event = stream.next()
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 543, in _exec
    for event in stream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 533, in _eval
    for event in substream:
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 520, in _eval
    result = _eval_expr(data, ctxt, **vars)
  File ""/usr/lib/python2.4/site-packages/genshi/template/base.py"", line 286, in _eval_expr
    retval = expr.evaluate(ctxt)
  File ""/usr/lib/python2.4/site-packages/genshi/template/eval.py"", line 180, in evaluate
    return eval(self.code, _globals, {'__data__': data})
text, change.comment, escape_newlines=preserve_newlines)'>
    ${wiki_to_html(context, change.comment, escape_newlines=preserve_newlines)}
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/util/compat.py"", line 135, in newfunc
    return func_(*(args + fargs), **dict(kwargs, **fkwargs))
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/wiki/formatter.py"", line 1118, in format_to_html
    return HtmlFormatter(env, context, wikidom).generate(escape_newlines)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/wiki/formatter.py"", line 1073, in generate
    escape_newlines)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/wiki/formatter.py"", line 878, in format
    result = re.sub(self.wikiparser.rules, self.replace, line)
  File ""/usr/lib/python2.4/sre.py"", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/wiki/formatter.py"", line 825, in replace
    replacement = self.handle_match(fullmatch)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/wiki/formatter.py"", line 818, in handle_match
    return external_handler(self, match, fullmatch)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/versioncontrol/web_ui/changeset.py"", line 916, in <lambda>
    y, z))
  File ""/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/versioncontrol/web_ui/changeset.py"", line 936, in _format_changeset_link
    changeset = self.env.get_repository().get_changeset(rev)
  File ""/usr/lib/python2.4/site-packages/TracGit-0.11.0.2.egg/tracext/git/git_fs.py"", line 223, in get_changeset
    return GitChangeset(self.git, rev)
  File ""/usr/lib/python2.4/site-packages/TracGit-0.11.0.2.egg/tracext/git/git_fs.py"", line 395, in __init__
    (msg, props) = git.read_commit(sha)
AttributeError: 'NoneType' object has no attribute 'read_commit'

}}}
",nenad@…
7381,"GitError: GIT control files not found, maybe wrong directory?",defect,0.11,Herbert Valerio Riedel,closed,2010-07-14T17:46:31+02:00,2015-05-31T20:34:53+02:00,"==== How to Reproduce ====

While doing a GET operation on `/`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{}
}}}

User agent: `Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.6) Gecko/20100628 Ubuntu/10.04 (lucid) Firefox/3.6.6`

==== System Information ====
|| '''`Trac`''' || `0.12` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.5.6.5` ||
|| '''`mod_python`''' || `3.3.1` ||
|| '''`pysqlite`''' || `2.4.1` ||
|| '''`Python`''' || `2.6.2 (r262:71600, Sep  8 2009, 13:06:43) ` [[br]] `[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)]` ||
|| '''`setuptools`''' || `0.6c9` ||
|| '''`SQLite`''' || `3.3.6` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`TracGit`''' || `0.12.0.2dev-r7757` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 513, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 200, in dispatch
    chosen_handler)
  File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 346, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build/bdist.linux-i686/egg/trac/versioncontrol/api.py"", line 330, in pre_process_request
    repo = self.get_repository(reponame)
  File ""build/bdist.linux-i686/egg/trac/versioncontrol/api.py"", line 526, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 186, in get_repository
    shortrev_len=self._shortrev_len)
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 205, in __init__
    git_bin=git_bin).getInstance()
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 120, in __init__
    i = Storage(repo, log, git_bin)
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 194, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
}}}",dima2
8016,File rename not supported,defect,0.12,Herbert Valerio Riedel,closed,2010-11-10T23:48:37+01:00,2015-05-31T20:34:53+02:00,"If files in git repositories as renamed, the git plugin does not read the change.
Look at http://babi.homelinux.net/osames/browser#OSAMES/OsamesUi/Plugins
The !OfficeWebUiRibbonTabsManager.cs file as renamed and de plugin does not show the content.
the year as 41 and the authors as unknown.

Check with http://babi.homelinux.net/viewgit/?a=tree&p=OSAMES&h=325e5469145479d656590f7c456c653aea269f7c&hb=baee03e84d2ba43b3dee50d5c5008449c0655376&f=OsamesUi/Plugins
",xarkam
8451,"GitError: GIT control files not found, maybe wrong directory?",defect,0.12,Herbert Valerio Riedel,closed,2011-01-27T23:37:03+01:00,2011-01-27T23:39:26+01:00,"I've seen #5480 - my repo is owned by www-data:www-data. The path

==== How to Reproduce 1 ====
{{{
$ sudo -u www-data trac-admin ./ repository resync ""Timely""
/var/lib/python-support/python2.6/svn/fs.py:27: DeprecationWarning: The popen2 module is deprecated.  Use the subprocess module.
  import sys as _sys, os as _os, popen2 as _popen2, tempfile as _tempfile
GitError: GIT control files not found, maybe wrong directory?
}}}

==== How to Reproduce 2 ====

While doing a GET operation on `/admin/versioncontrol/repository`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'cat_id': u'versioncontrol', 'panel_id': u'repository', 'path_info': None}
}}}

User agent: `Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10`

==== System Information ====
|| '''`Trac`''' || `0.12.1` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`Docutils`''' || `0.5` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.6.0.4` ||
|| '''`Pygments`''' || `0.10` ||
|| '''`pysqlite`''' || `2.4.1` ||
|| '''`Python`''' || `2.6.2 (release26-maint, Apr 19 2009, 01:58:18) ` [[br]] `[GCC 4.3.3]` ||
|| '''`pytz`''' || `2008h` ||
|| '''`setuptools`''' || `0.6c9` ||
|| '''`SQLite`''' || `3.6.10` ||
|| '''`Subversion`''' || `1.5.4 (r33841)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`TracAccountManager`''' || `0.3dev-r9785` ||
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 202, in dispatch
    chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 344, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 330, in pre_process_request
    repo = self.get_repository(reponame)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 526, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 252, in get_repository
    use_committer_time=self._use_committer_time,
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 368, in __init__
    git_fs_encoding=git_fs_encoding).getInstance()
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 136, in __init__
    i = Storage(repo, log, git_bin, git_fs_encoding)
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 249, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
}}}",runar@…
8456,GitPlugin fails (bringing down trac) after commit with typechange,defect,0.11,Herbert Valerio Riedel,closed,2011-01-28T23:26:11+01:00,2013-05-10T14:58:25+02:00,"After making a commit and pushing it up to the git depot used by trac, GitPlugin will no longer work, and, until it is disabled, neither will trac.
I'll attach the error produced.
We have not yet figured out a way to revert the git repo to a point where we can re-enable the git plugin. ",anonymous
9646,"WindowsError: (5, 'Access is denied')",defect,0.12,Herbert Valerio Riedel,closed,2011-12-30T11:52:49+01:00,2015-05-31T20:34:53+02:00,"==== How to Reproduce ====

While doing a GET operation on `/browser/app/application/core`, Trac issued an internal error.

''I installed git+trac on my windows recently. The installation was finished and I can integrate git and trac and can be viewed in browser. But I have problem when I browse the resource via browser. I am developing web application using codeigniter. When I browse the root directory, it can be viewed by browser. But, when I tried to browser the child directory, the browser give me an error: WindowsError: [Error 5] Access is denied.
I don't know its error came from git, trac, or windows itself. 
Then I try to search on internet and also from trac forum at google and I can't find anything useful.
I need any help from you or any information that be able to solve my problem. Thanks anyway.''

Request parameters:
{{{
{'path': u'/app/application/core'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7`

==== System Information ====
|| '''`Trac`''' || `0.12.2` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.8.msysgit.0` ||
|| '''`MySQL`''' || `server: ""5.1.37"", client: ""5.1.50"", thread-safe: 1` ||
|| '''`MySQLdb`''' || `1.2.3` ||
|| '''`Python`''' || `2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`tracgit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""c:\users\duken\appdata\local\temp\easy_install-vinrpq\Trac-0.12.2-py2.6-win32.egg.tmp\trac\web\main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""c:\users\duken\appdata\local\temp\easy_install-vinrpq\Trac-0.12.2-py2.6-win32.egg.tmp\trac\web\main.py"", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File ""c:\users\duken\appdata\local\temp\easy_install-vinrpq\Trac-0.12.2-py2.6-win32.egg.tmp\trac\versioncontrol\web_ui\browser.py"", line 390, in process_request
    dir_data = self._render_dir(req, repos, node, rev, order, desc)
  File ""c:\users\duken\appdata\local\temp\easy_install-vinrpq\Trac-0.12.2-py2.6-win32.egg.tmp\trac\versioncontrol\web_ui\browser.py"", line 549, in _render_dir
    entries = [entry(n) for n in node.get_entries()
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""C:\Python26\lib\contextlib.py"", line 23, in __exit__
    self.gen.next()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 760, in get_historian
    p[0].terminate()
  File ""C:\Python26\lib\subprocess.py"", line 937, in terminate
    TerminateProcess(self._handle, 1)
WindowsError: [Error 5] Access is denied
}}}",dukenmarga@…
9658,"WindowsError: (5, 'Access is denied')",defect,0.12,Herbert Valerio Riedel,closed,2012-01-03T17:36:10+01:00,2012-02-16T01:21:50+01:00,"==== How to Reproduce ====

While doing a GET operation on `/changeset/eac625266359cce9f7d3128d02d78a67412b8b8e/`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'format': u'diff',
 'new': u'eac625266359cce9f7d3128d02d78a67412b8b8e',
 'new_path': u'/'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7`

==== System Information ====
|| '''`Trac`''' || `0.12` ||
|| '''`Agilo`''' || `0.9.5` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.8.msysgit.0` ||
|| '''`mod_python`''' || `3.3.2-dev-20080819` ||
|| '''`pysqlite`''' || `2.4.1` ||
|| '''`Python`''' || `2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.5.9` ||
|| '''`Subversion`''' || `1.6.2 (r37639)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`agilo`''' || `0.9.5` ||
|| '''`tracaccountmanager`''' || `0.3dev-r10294` ||
|| '''`tracgit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""c:\docume~1\rferna~1\locals~1\temp\1\easy_install-fesswe\Trac-0.12-py2.6-win32.egg.tmp\trac\web\main.py"", line 513, in _dispatch_request
    dispatcher.dispatch(req)
  File ""c:\docume~1\rferna~1\locals~1\temp\1\easy_install-fesswe\Trac-0.12-py2.6-win32.egg.tmp\trac\web\main.py"", line 235, in dispatch
    resp = chosen_handler.process_request(req)
  File ""c:\docume~1\rferna~1\locals~1\temp\1\easy_install-fesswe\Trac-0.12-py2.6-win32.egg.tmp\trac\versioncontrol\web_ui\changeset.py"", line 347, in process_request
    self._render_diff(req, filename, repos, data)
  File ""c:\docume~1\rferna~1\locals~1\temp\1\easy_install-fesswe\Trac-0.12-py2.6-win32.egg.tmp\trac\versioncontrol\web_ui\changeset.py"", line 689, in _render_diff
    old_path=data['old_path'], old_rev=data['old_rev']):
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 434, in get_changes
    yield old_node, new_node, kind, change
  File ""C:\Python26\Lib\contextlib.py"", line 23, in __exit__
    self.gen.next()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 760, in get_historian
    p[0].terminate()
  File ""C:\Python26\Lib\subprocess.py"", line 937, in terminate
    TerminateProcess(self._handle, 1)
WindowsError: [Error 5] Access is denied
}}}",LUG-BRZ\rfernandez
10058,GitPlugin not working,defect,0.12,Herbert Valerio Riedel,closed,2012-05-31T01:37:11+02:00,2012-05-31T22:51:25+02:00,"The plug-in looks like it loads

from log/trac.log
{{{
2012-05-30 16:18:40,092 Trac[env] INFO: -------------------------------- environment startup [Trac 0.12.3] --------------------------------
2012-05-30 16:18:40,107 Trac[loader] DEBUG: Loading git from /Library/Python/2.7/site-packages/TracGit-0.12.0.5dev-py2.7.egg
}}}

But then the web page returns

{{{
Warning: Can't synchronize with repository ""(default)"" (/Users/mpm/demo/git/example.git does not appear to be a Subversion repository.). Look in the Trac log for more information. 
}}}

conf/trac.ini has the following

{{{
[components]
tracopt.versioncontrol.git.* = enabled

[trac]
repository_dir = /Users/mpm/demo/git/example.git
repository_type = git

[git]
## let Trac cache meta-data via CachedRepository wrapper; default: false
# cached_repository = true
cached_repository = false

## disable automatic garbage collection for in-memory commit-tree cache; default: false
# persistent_cache = true
persistent_cache = false

## length revision sha-sums should be tried to be abbreviated to (must be >= 4 and <= 40); default: 7
shortrev_len = 6

## minimum length for which hex-strings will be interpreted as commit ids in wiki context; default: 40
wiki_shortrev_len = 7

## executable file name (in case of doubt use absolute path!) of git binary; default: 'git'
git_bin = /opt/local/bin/git

## define charset encoding of paths stored within git repository; default: 'utf-8'
git_fs_encoding = latin1

## enable reverse mapping of git email addresses to trac user ids; default: false
trac_user_rlookup = true

## use git-committer id instead of git-author id as changeset owner; default: true
use_committer_id = false

## use git-committer timestamp instead of git-author timestamp as changeset time; default: true
use_committer_time = false
}}}",mendelso@…
6385,error with git 1.6.3.3,defect,0.11,Herbert Valerio Riedel,closed,2009-12-28T17:47:16+01:00,2010-03-07T21:22:37+01:00,"Python Traceback

Most recent call last:
File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 444, in _dispatch_request
File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 175, in dispatch
File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 295, in _pre_process_request
File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py"", line 86, in pre_process_request
File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/cache.py"", line 119, in sync
File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py"", line 279, in <lambda>
File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 189, in get_youngest_rev
File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 346, in youngest_rev
File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 299, in get_rev_cache

System Information:              
 User Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.6) Gecko/20091215 Ubuntu/9.10 (karmic) Firefox/3.5.6                                    
Trac:                   0.11.5                                    
Python:                   2.6.4 (r264:75706, Dec  7 2009, 18:59:58) [GCC 4.4.1]                                    setuptools:                   0.6c9                                    
SQLite:                   3.6.16                                   
pysqlite:                   2.5.5                                    
Genshi:                   0.5.1                                   
 mod_python:                   3.3.1                               
 Pygments:                   1.0                                 
 GIT:                   1.6.3.3                              
 jQuery:1.3.2",anonymous
7861,404 error with new GitPlugin version,defect,0.12,Herbert Valerio Riedel,closed,2010-10-19T13:43:24+02:00,2010-10-24T14:48:10+02:00,"Hi,

Since i upgraded my GitPlugin to the latest revision of github (it was yesterday). I get a 404 ""Not found"" error when i clicking on ""Browse source"". I use a cached repository plugin (revisions are stored in the database). I tried from a fresh install, and with another git repository. But i alwas get the same error in trac.log :
{{{
Trac[PyGIT] DEBUG: PyGIT.Storage instance 23112848 constructed
Trac[PyGIT] DEBUG: requested weak PyGIT.Storage instance 23112848 for '/****/alias.git'
Trac[git_fs] DEBUG: enabled CachedRepository for '/****/alias.git'
Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 23112848
Trac[PyGIT] DEBUG: rebuilt commit tree db for 23112848 with 0 entries (took 45.2 ms)
Trac[main] WARNING: HTTPNotFound: 404 Invalid changeset number (No changeset 653a3a6c0817f600cefc9d2ebf3950aa19869f3f in the repository)
}}}",zaran.krleza@…
8393,Tried to use trac 0.12 with gitplugin failes cause of a Oops: read_commit called with empty commit_id,defect,0.12,Herbert Valerio Riedel,closed,2011-01-12T10:27:35+01:00,2013-05-10T15:15:28+02:00,"hello,

I got a error everytime I try to use the ""browse source code"" … 
{{{
Trac detected an internal error:  GitError:  read_commit called with empty commit_id
}}}

Any help would be appreciated. 

I looked into the egg, started also a modified one, cause the version for 0.12 was buggy for me. It does not do its job, cause it was complaining about the used git version. 
{{{
2011-01-11 13:05:18,106 Trac[git_fs] ERROR: GitError: Could not retrieve GIT version (tried to execute/parse '/usr/bin/git-receive-pack --version' but got ValueError('need more than 0 values to unpack',))
}}}

So I return true for the version check for git in my modified version of gitplugin, which brought me to the next error (this one here). I've tried and searched, but I did not know, what is the problem with the committer id

today I tried on my host the trac version 0.11 + gitplugin without any problems. (done in 12min)

some infos:
{{{
openSUSE 11.2 (x86_64)
git version 1.6.4.2
}}}
cheers,
chris",cornbob@…
8682,GitConnector: __init__ calls git_version(git_bin) from PyGIT using git-receive-pack instead of git,defect,1.0,Herbert Valerio Riedel,closed,2011-04-07T13:14:28+02:00,2013-06-21T21:53:06+02:00,"In version '0.12.0.5', `GitConnector.__init__` calls `Storage.git_version` with `/usr/bin/git-receive-pack`. `Storage.git_version` fails, as `git-receive-pack` hasn't got the option `--version`. I don't know what causes this error, as i explicitly set `git_bin = /usr/bin/git` in `conf/trac.ini`.
 
Adding 
{{{
self.log.error(""My git_bin is %s"" %self._git_bin)
}}}
to `GitConnector.__init__` causes the following output:

{{{
2011-04-07 13:04:31,435 Trac[git_fs] ERROR: My git_bin is /usr/bin/git-receive-pack
}}}",stiffy2@…
9560,"GitPlugin not loading, error in git_fs.py:415",defect,0.12,Herbert Valerio Riedel,closed,2011-11-28T15:49:08+01:00,2015-05-31T20:34:53+02:00,"When installing GitPlugin on Trac 0.12:
{{{
easy_install-2.4 hvr-trac-git-plugin-v0.12.0.5-20-g722342e.tar.gz 
Processing hvr-trac-git-plugin-v0.12.0.5-20-g722342e.tar.gz
Running hvr-trac-git-plugin-722342e/setup.py -q bdist_egg --dist-dir /tmp/easy_install-8nGFm-/hvr-trac-git-plugin-722342e/egg-dist-tmp-EGId1i
build/bdist.linux-i686/egg/tracext/git/git_fs.py:415: Warning: 'with' will become a reserved keyword in Python 2.6
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 415
    with self.git.get_historian(old_rev, old_path.strip('/')) as old_historian:
            ^
SyntaxError: invalid syntax

  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 64
    p = self.__pipe(git_cmd, *cmd_args, stdout=PIPE, stderr=PIPE)
                                             ^
SyntaxError: invalid syntax
}}}


On Trac pages:
{{{
Warning: Can't synchronize with repository ""(default)"" (Unsupported version control system ""git"": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.
}}}
Trac log:

{{{
2011-11-28 18:27:00,974 Trac[loader] ERROR: Skipping ""git = tracext.git.git_fs"": 
Traceback (most recent call last):
  File ""build/bdist.linux-i686/egg/trac/loader.py"", line 70, in _load_eggs
    entry.load(require=True)
  File ""/usr/lib/python2.5/site-packages/pkg_resources.py"", line 1912, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File ""/usr/lib/python2.5/site-packages/TracGit-0.12.0.5dev-py2.5.egg/tracext/git/git_fs.py"", line 415
     with self.git.get_historian(old_rev, old_path.strip('/')) as old_historian:
             ^
SyntaxError: invalid syntax (git_fs.py, line 415))
}}}




||Trac||	0.12||
||Genshi||	0.6||
||mod_python||	3.3.1||
||MySQL||	server: ""5.0.51a-24+lenny5-log"", client: ""5.0.51a"", thread-safe: 1||
||MySQLdb||	1.2.2||
||Pygments||	0.10||
||Python||	2.5.2 (r252:60911, Jan 24 2010, 15:24:24) [GCC 4.3.2]||
||pytz||	2008c||
||setuptools||	0.6c8||
||Subversion||	1.5.1 (r32289)||
||jQuery:||	1.4.2||",mihail.kotov@…
3410,If caching is activated and the first commit is empty diff_tree() fails,defect,0.11,Herbert Valerio Riedel,closed,2008-07-17T18:50:27+02:00,2008-08-17T11:59:36+02:00,"If caching is activated (cached_repository = true) and the first commit is empty

diff_tree() fails when trying to remove the first output line:

{{{
Trac detected an internal error:
IndexError: list index out of range
}}}

Fix: in PyGIT.py line 636:

if tree1 is None '''and len(lines) > 0''':

",Christian Zuckschwerdt
3842,Error calculating changeset size?   TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType',defect,0.12,Herbert Valerio Riedel,closed,2008-10-01T19:50:47+02:00,2013-06-21T21:59:18+02:00,"We are getting the following exception for some of our changesets.  I don't have a lot of info on the changeset itself, but I do know that ""old_node.get_content_length()"" is returning None when it should be an int. 

We do have the Python 2.4 backport installed, but it's pretty much vanilla aside from that.

{{{

File ""/usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py"", line 423, in _dispatch_request
  dispatcher.dispatch(req)
File ""/usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py"", line 197, in dispatch
  resp = chosen_handler.process_request(req)
File ""/usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/versioncontrol/web_ui/changeset.py"", line 323, in process_request
  self._render_html(req, repos, chgset, restricted, xhr, data)
File ""/usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/versioncontrol/web_ui/changeset.py"", line 545, in _render_html
  diff_bytes += _estimate_changes(old_node, new_node)
File ""/usr/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/versioncontrol/web_ui/changeset.py"", line 501, in _estimate_changes
  return old_size + new_size

}}}

{{{
User Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.1) Gecko/2008071420 Firefox/2.0.0.3 (X11; U; Linux x86_64; en-US; rv:1.8.1.1)
Trac: 	0.11.1
Python: 	2.4.4 (#1, Apr 5 2007, 18:41:00) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]
setuptools: 	0.6c3
pyPgSQL: 	2.5.1
Genshi: 	0.5.1
mod_python: 	3.2.10
GIT: 	1.5.6.2
jQuery:	1.2.6

}}}",mculbert@…
8260,Browse with 'bare' repository fails,defect,0.12,Herbert Valerio Riedel,closed,2010-12-03T14:12:47+01:00,2015-05-31T20:34:53+02:00,"When adding a 'bare' repo (as initialized by gitolite post-receive hook), GitPlugin shows an error when 'Browse Source' is clicked. 

{{{
GitError: read_commit called with empty commit_id
}}}",Sigurd Hogsbro
2633,It should be possible to see the branch in the timeline and for each changeset,enhancement,0.12,Herbert Valerio Riedel,closed,2008-02-25T02:29:35+01:00,2015-05-31T20:34:53+02:00,It would be best if you could see which branch a commit was made against in both the changeset view and the timeline view.,jkp@…
3512,On Win32 environment gitplugin cannot execute git.,defect,0.11,Herbert Valerio Riedel,closed,2008-08-06T17:49:42+02:00,2009-03-20T16:24:52+01:00,"On Win32 environment gitplugin cannot execute git.

I tried running trac, git(msysgit) and gitplugin, but it doesn't work. That is because os.popen3() function does not take the parameter as a list. Git in cygwin doesn't have a problem such like this because it is emulation of unix.

So minor platform dependent fix is needed.",jangsuwon@…
4438,"trac-admin /trac/path resync ""fails""",defect,0.11,Herbert Valerio Riedel,closed,2009-01-12T18:12:58+01:00,2014-12-03T14:00:05+01:00,"Hey there,

I've a small problem with my trac which is based on git:

I've tried to do a resync of the git repro into the cache and it ""fails"" everytime without caching the whole content of the git repro. E.g. there are ~8000 commits inside the repro and when calling trac-admin once it states:
{{{
h1190993:/srv# trac-admin /srv/trac resync
Resyncing repository history...
177 revisions cached.8161c3e1abc71669a7c83]
Done.
}}}
The second time I call trac-admin it states:
{{{
h1190993:/srv# trac-admin /srv/trac resync
Resyncing repository history...
245 revisions cached.4659067d0523a1405e58d]
Done.
}}}
And so on. It never caches the whole repository. This is _very_ nasty since now I need to disable caching which makes the site very very slow. 
As this is in my eyes a showstopper for the Gitplugin setting the priority to high and the severity to major. 

Please can you help me to find a fix for this issue? I'll ask also for help on the trac mailinglist if someone else have seen this error and knows a fix for this.

Greetings
Winnie",winnie@…
4505,Resetting HEAD on a remote branch causes GitPlugin to complain of missing changeset,defect,0.11,Herbert Valerio Riedel,closed,2009-01-24T11:44:22+01:00,2015-05-31T20:34:53+02:00,"Once a commit is reset, GitPlugin keeps complaining about the missing changeset even when newer changesets modify the same files. Browsing the git repo is not possible anymore after this.
 ",anonymous
4647,gitplugin doesn't work with git 1.6,defect,0.11,Herbert Valerio Riedel,closed,2009-02-17T21:53:57+01:00,2014-12-03T10:55:19+01:00,"Please add git 1.6 support to the gitplugin. The plugin can't read the version information.

Trac[git_fs] ERROR: GitError: Could not retrieve GIT version",anonymous
8102,Can't install plugin properly.,defect,0.12,Herbert Valerio Riedel,closed,2010-11-20T00:15:12+01:00,2015-05-31T20:34:53+02:00,"I can't install git plugin - i have this message:

{{{

easy_install http://github.com/hvr/trac-git-plugin/tarball/master
Downloading http://github.com/hvr/trac-git-plugin/tarball/master
Processing master
Running hvr-trac-git-plugin-60cf7b8/setup.py -q bdist_egg --dist-dir /tmp/easy_install-vcnH3y/hvr-trac-git-plugin-60cf7b8/egg-dist-tmp-027SXU
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 106
    with self.__lock:
            ^
SyntaxError: invalid syntax
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 567
    yield (self.path, rev, Changeset.EDIT if not is_last else Changeset.ADD)
                                           ^
SyntaxError: invalid syntax
zip_safe flag not set; analyzing archive contents...
TracGit 0.12.0.5dev is already the active version in easy-install.pth

Installed /usr/lib/python2.4/site-packages/TracGit-0.12.0.5dev-py2.4.egg
Processing dependencies for TracGit==0.12.0.5dev
Finished processing dependencies for TracGit==0.12.0.5dev
}}}


If I enabled git plugin in trac.ini file i had this error:

{{{
Warning: Can't synchronize with repository ""(default)"" (Unsupported version control system ""git"": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.
}}}

What was wrong? Is that bug?
",kamillo1888
8401,filedescriptor out of range,defect,0.12,Herbert Valerio Riedel,closed,2011-01-15T16:59:51+01:00,2015-05-31T20:34:53+02:00,"I get:

{{{
ValueError: filedescriptor out of range in select()
}}}

My trackback:

{{{
File ""/home/amaciag/usr/lib/python2.5/site-packages/trac/web/main.py"", line 511, in _dispatch_request
  dispatcher.dispatch(req)
File ""/home/amaciag/usr/lib/python2.5/site-packages/trac/web/main.py"", line 202, in dispatch
  chosen_handler)
File ""/home/amaciag/usr/lib/python2.5/site-packages/trac/web/main.py"", line 344, in _pre_process_request
  chosen_handler = filter_.pre_process_request(req, chosen_handler)
File ""/home/amaciag/usr/lib/python2.5/site-packages/trac/versioncontrol/api.py"", line 332, in pre_process_request
  repo.sync()
File ""/home/amaciag/usr/lib/python2.5/site-packages/tracext/git/git_fs.py"", line 470, in sync
  if not self.git.sync():
File ""/home/amaciag/usr/lib/python2.5/site-packages/tracext/git/PyGIT.py"", line 693, in sync
  rev = self.repo.rev_list(""--max-count=1"", ""--topo-order"", ""--all"").strip()
File ""/home/amaciag/usr/lib/python2.5/site-packages/tracext/git/PyGIT.py"", line 71, in __execute
  stdout_data, stderr_data = p.communicate()
File ""/usr/lib/python2.5/subprocess.py"", line 670, in communicate
  return self._communicate(input)
File ""/usr/lib/python2.5/subprocess.py"", line 1209, in _communicate
  rlist, wlist, xlist = select.select(read_set, write_set, [])
}}}

System information:

{{{
User Agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.6.6; U; pl) Presto/2.7.62 Version/11.00Trac	0.12.1
Babel	0.9.5
Docutils	0.7
Genshi	0.6
GIT	1.5.6.5
mod_python	3.3.1
Pygments	1.3.1
pysqlite	2.4.1
Python	2.5.2 (r252:60911, Jan 24 2010, 18:02:01) [GCC 4.3.2]
pytz	2008c
setuptools	0.6c12
SQLite	3.5.9
Subversion	1.5.1 (r32289)
jQuery	1.4.2
}}}

Enabled Plugins:

{{{
TracAccountManager 	0.2.1dev-r7731
TracGit 	0.12.0.5dev
}}}

",p1c2u
8937,"When i paste the changesets from multiple repos , it only creates a link for the default repo",defect,0.12,Herbert Valerio Riedel,closed,2011-06-30T09:09:27+02:00,2013-05-10T15:42:20+02:00,"When i paste the changesets from multiple repos , it only creates a link for the default repo in the ticket when i paste it 

can i create the changesets link when i paste it in the ticket for multiple repos ?",Siddharth
1040,support for multiple repos,enhancement,0.12,Herbert Valerio Riedel,closed,2006-12-21T10:31:09+01:00,2010-03-07T13:12:58+01:00,"Hi, I'm currently trying the git plugin for the first time. Is it possible to include multiple git repositories? Will it ever be possible? I have this situation:

{{{
/var/git/project1.git
/var/git/project2.git
/var/git/project3.git
}}}

but it would be convenient to have one trac site for all these projects. Is this a good idea?",toon.verstraelen@…
6402,Python 2.4 support for GitPlugin r7356,enhancement,0.11,Herbert Valerio Riedel,closed,2010-01-07T16:58:18+01:00,2010-03-07T12:27:05+01:00,"GitPlugin 0.11 requires Python 2.5 which is not available on certain popular Linux distributions.

This patch ports GitPlugin r7356 to Python 2.4 while keeping as much of the original high order functional programming inspiration as possible, specifically:
 * implementations are provided for any and all if they are missing
 * lambda expressions are used in place of functools.partial
 * with statements are replaced with try/except
 * ... if ... else ... expressions are expanded out cleanly",twpayne@…
9134,git post-receive hook - remote: error: command not found,defect,0.12,Herbert Valerio Riedel,closed,2011-08-29T00:43:22+02:00,2015-05-31T20:34:53+02:00,"I tried looking, but couldn't find any other tickets that reference this issue.  Basically I had set up the post-receive hook and everything was working fine. I had used the code from the trac-post-receive-hook-0.12-only-master.py example in the install documentation. Well recently I've noticed that it hasn't been running and I've been getting a ""remote: Error: Command not found"" when I commit to the git repository. I'm not very familiar with what could be causing this now... there's nothing that I could think of that has changed since I had it working just a few days ago. Any ideas of where to figure out what is going on would be absolutely great!

thanks,
Jeff",jeff@…
3104,"[Patch] Internal error (got unexpected object kind 'commit') when going to ""Browse source""",defect,0.12,Herbert Valerio Riedel,closed,2008-05-30T03:12:15+02:00,2010-10-16T14:30:19+02:00,"relevant software versions: trac 0.11rc1, git 1.5.5.1, latest GitPlugin, as of May 29
there appeared to be no way to get the traceback for the 0.11 version of the plugin, as opposed to the 0.10 one

the part of the logfile that seemed relevant:
{{{
2008-05-30 04:57:37,249 Trac[default_workflow] DEBUG: Workflow actions at initialization: {'resolve': {'operations': [u'set_resolution'], 'name': 'resolve', 'default': 0, 'newstate': u'closed', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, 'accept': {'operations': [u'set_owner_to_self'], 'name': 'accept', 'default': 0, 'newstate': u'accepted', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, 'leave': {'operations': [u'leave_status'], 'name': 'leave', 'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 'permissions': []}, 'reopen': {'operations': [u'del_resolution'], 'name': 'reopen', 'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], 'permissions': [u'TICKET_CREATE']}, 'reassign': {'operations': [u'set_owner'], 'name': 'reassign', 'default': 0, 'newstate': u'assigned', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, '_reset': {'operations': ['reset_workflow'], 'name': 'reset', 'default': 0, 'newstate': 'new', 'oldstates': [], 'permissions': []}}
}}}

{{{
2008-05-30 04:57:37,261 Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
2008-05-30 04:57:37,262 Trac[main] DEBUG: Dispatching <Request ""GET u'/browser'"">
2008-05-30 04:57:37,345 Trac[git_fs] INFO: detected GIT version 1.5.5.1
2008-05-30 04:57:37,515 Trac[svn_fs] DEBUG: Subversion bindings imported
2008-05-30 04:57:37,568 Trac[PyGIT] DEBUG: PyGIT.Storage instance 141808716 constructed
2008-05-30 04:57:37,569 Trac[PyGIT] DEBUG: requested PyGIT.Storage instance 141808716 for '/mnt/enter/git/common-db/.git/'
2008-05-30 04:57:37,571 Trac[git_fs] INFO: enabled CachedRepository for '/mnt/enter/git/common-db/.git/'
2008-05-30 04:57:37,748 Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 141808716
2008-05-30 04:57:38,090 Trac[PyGIT] DEBUG: rebuilt commit tree db for 141808716 with 54 entries
2008-05-30 04:57:38,098 Trac[api] DEBUG: action controllers for ticket workflow: ['ConfigurableTicketWorkflow']
2008-05-30 04:57:38,947 Trac[main] WARNING: 500 Trac Error (internal error (got unexpected object kind 'commit'))
}}}",_deepfire@…
3654,AssertionError when selecting browse source,defect,0.11,Herbert Valerio Riedel,closed,2008-09-03T11:06:50+02:00,2009-02-23T03:13:34+01:00,"I installed trac & trac-git from debian lenny: 0.11 of trac:

ii  trac           0.11-3         Enhanced wiki and issue tracking system for 
ii  trac-git       0.0.20080710-1 Git version control backend for Trac

I did GIT_DIR=trac/g1 git init and git push trac master:refs/heads/master to populate the git-repo.
trac options:

[git]
cached_repository = false
git_bin = /usr/bin/git
persistent_cache = false
shortrev_len = 7

[trac]
repository_dir = /home/nicosc/trac/g1/
repository_type = git

nicosc@ikdesk1:~/trac/g1$ git --version
git version 1.5.6.5

I get this error:

11:00:49 Trac[git_fs] INFO: disabled CachedRepository for '/home/nicosc/trac/g1/'
11:00:49 Trac[main] ERROR: 
Traceback (most recent call last):
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 423, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 197, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/browser.py"", line 342, in process_request
    rev_or_latest = rev or repos.youngest_rev
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/api.py"", line 264, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File ""/usr/lib/python2.5/site-packages/gitplugin/git_fs.py"", line 189, in get_youngest_rev
    return self.git.youngest_rev()
  File ""/usr/lib/python2.5/site-packages/gitplugin/PyGIT.py"", line 331, in youngest_rev
    return self.rev_cache[0]
  File ""/usr/lib/python2.5/site-packages/gitplugin/PyGIT.py"", line 316, in get_rev_cache
    assert all(e is not None for e in self.__rev_cache)
AssertionError

Any idea what I did wrong?

",nico-trackhack-git@…
6925,Assertion failure in PyGIT.py,defect,0.11,Herbert Valerio Riedel,closed,2010-04-04T01:05:47+02:00,2010-10-17T20:10:17+02:00,"Somewhere along the line, something happened in my git repository (I have no idea what -- maybe a post-commit-hook failure or something?) and I started getting an assertion failure anytime I try to load any Trac page.  I tried using trac-admin resync to no avail, and I have no idea what to do next.  Google has no instances of this particular assertion except in commit-diffs and the like, so it looks like no one else has this problem.  I'm happy to grab more diagnostic information if someone can help me figure out what to look for.

I can unhook the repository entirely and still get to wiki pages, but (of course) not tickets, so my trac is nearly useless in its current state.

Here's what I see in the log:
{{{
2010-04-03 16:51:02,232 Trac[main] DEBUG: Dispatching <Request ""GET u'/wiki'"">
2010-04-03 16:51:02,250 Trac[git_fs] INFO: detected GIT version 1.6.3.3
2010-04-03 16:51:02,284 Trac[svn_fs] DEBUG: Subversion bindings imported
2010-04-03 16:51:02,285 Trac[PyGIT] DEBUG: PyGIT.Storage instance 140026844498040 constructed
2010-04-03 16:51:02,285 Trac[PyGIT] DEBUG: requested PyGIT.Storage instance 140026844498040 for '/home/git/ifgs'
2010-04-03 16:51:02,286 Trac[git_fs] INFO: enabled CachedRepository for '/home/git/ifgs'
2010-04-03 16:51:02,296 Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 140026844498040
2010-04-03 16:51:02,319 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 444, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 175, in dispatch
    chosen_handler)
  File ""/usr/lib/python2.6/dist-packages/trac/web/main.py"", line 295, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py"", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/cache.py"", line 119, in sync
    repos_youngest = self.repos.youngest_rev
  File ""/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py"", line 279, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 192, in get_youngest_rev
    return self.git.youngest_rev()
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 346, in youngest_rev
    return self.rev_cache[0]
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 299, in get_rev_cache
    assert len(new_db) == ord_rev
AssertionError: 
}}}

I tried digging around in the code, but I don't really understand what this assertion is trying to say, so it's hard to know what other information would be useful in diagnosing it.  Again, I'm happy to extract whatever information would be useful if I can get some help in figuring out what that would be.  (I'd grab the failing ord_rev and len(new_db) if I had any clue how to do that -- is there a straightforward way to make trac use an exploded-out package for the plugin instead of a .egg file, so I can just tweak the code to debug-log those?  I assume that'd be useful.)  Thanks!",deb.aelwyn@…
7535,GitError: Could not retrieve GIT version,defect,0.12,Herbert Valerio Riedel,closed,2010-08-21T19:00:36+02:00,2010-10-06T07:00:03+02:00,"{{{
git version 1.7.1

Python 2.6.1

Darwin Li-Lees-MacBook-Pro.local 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386

Trac	0.12b1
Docutils	0.6
Genshi	0.6
Pygments	1.3.1
pysqlite	2.6.0
Python	2.6.1 (r261:67515, Dec 17 2009, 00:59:15) [GCC 4.2.1 (Apple Inc. build 5646)]
RPC	1.1.0-r0
setuptools	0.6c11
SQLite	3.7.0.1
Subversion	1.6.5 (r38866)
jQuery:	1.4.2
Installed Plugins

AutocompleteUsers	0.4.1	/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/AutocompleteUsers-0.4.1-py2.6.egg
Latex	0.1-r5294	/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/Latex-0.1_r5294-py2.6.egg
TracGit	0.12.0.2dev-r7757	/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/TracGit-0.12.0.2dev_r7757-py2.6.egg
TracTocMacro	11.0.0.3	/Library/Python/2.6/site-packages/TracTocMacro-11.0.0.3-py2.6.egg
TracXMLRPC	1.1.0-r0	/Library/Python/2.6/site-packages/TracXMLRPC-1.1.0_r0-py2.6.egg
ZhTracGuideToc	N/A	/Users/lee/Codes/enjoy-series/plugins/ZhTracGuideToc.pyc
}}}",Lee Li
8465,Trac[git_fs] ERROR: GitError: Could not retrieve GIT version,defect,0.12,Herbert Valerio Riedel,closed,2011-02-02T21:04:02+01:00,2015-05-31T20:34:53+02:00,"Hi, all!
I have a problem with my trac-and-git.
I got error 
""
{{{
Warning: Can't synchronise with repository ""(default)"" (GIT backend not available). Look in the Trac log for more information.""
}}}

And in logs 

{{{
Trac[git_fs] ERROR: GitError: Could not retrieve GIT version.
}}}

My config:

{{{
[git]
cached_repository = false 
persistent_cache = false
shortrev_len = 7
git = /usr/bin/git

}}}
If I write git_bin instead - another error occurs

{{{
TypeError: 'NoneType' object is unsubscriptable
}}}
and in logs we have:

{{{
Traceback (most recent call last):
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 513, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 200, in dispatch
    chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 346, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 330, in pre_process_request
    repo = self.get_repository(reponame)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 526, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""/usr/lib/python2.5/site-packages/tracext/git/git_fs.py"", line 159, in get_repository
    shortrev_len=self._shortrev_len)
  File ""/usr/lib/python2.5/site-packages/tracext/git/git_fs.py"", line 177, in __init__
    Repository.__init__(self, ""git:""+path, None, log)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 730, in __init__
    self.reponame = params['name']
TypeError: 'NoneType' object is unsubscriptable

}}}

I found similar decisions of this trouble, but not for 0.12 version.
 ",anonymous
8519,Trac GitPlugin Error,defect,0.12,Herbert Valerio Riedel,closed,2011-02-18T18:01:09+01:00,2011-04-29T20:07:39+02:00,"After I've installed GitPlugin I get this errors:
{{{
2011-02-18 18:57:48,378 Trac[loader] DEBUG: Loading tracopt.ticket.deleter from c:\python26\lib\site-packages\trac-0.12.2-py2.6-win32.egg
2011-02-18 18:57:48,378 Trac[default_workflow] DEBUG: Workflow actions at initialization: {u'resolve': {u'operations': [u'set_resolution'], 'name': u'resolve', 'default': 0, 'newstate': u'closed', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], u'permissions': [u'TICKET_MODIFY']}, u'accept': {u'operations': [u'set_owner_to_self'], 'name': u'accept', 'default': 0, 'newstate': u'accepted', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], u'permissions': [u'TICKET_MODIFY']}, u'leave': {u'operations': [u'leave_status'], 'name': u'leave', u'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 'permissions': []}, u'reopen': {u'operations': [u'del_resolution'], 'name': u'reopen', 'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], u'permissions': [u'TICKET_CREATE']}, u'reassign': {u'operations': [u'set_owner'], 'name': u'reassign', 'default': 0, 'newstate': u'assigned', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], u'permissions': [u'TICKET_MODIFY']}, '_reset': {'operations': ['reset_workflow'], 'name': 'reset', 'default': 0, 'newstate': 'new', 'oldstates': [], 'permissions': []}}

2011-02-18 18:57:48,378 Trac[env] WARNING: base_url option not set in configuration, generated links may be incorrect
2011-02-18 18:57:48,378 Trac[main] DEBUG: Dispatching <Request ""GET '/prefs'"">
2011-02-18 18:57:48,471 Trac[git_fs] INFO: detected GIT version 1.7.4.msysgit.0
2011-02-18 18:57:48,471 Trac[svn_fs] DEBUG: Subversion bindings imported
2011-02-18 18:57:48,471 Trac[pygit] DEBUG: PyGIT.Storage instance 61837600 constructed
2011-02-18 18:57:48,471 Trac[pygit] DEBUG: requested weak PyGIT.Storage instance 61837600 for 'e:/projects/gitrepo/test1.git/.git'
2011-02-18 18:57:48,471 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\web\main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\web\main.py"", line 202, in dispatch
    chosen_handler)
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\web\main.py"", line 344, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\versioncontrol\api.py"", line 330, in pre_process_request
    repo = self.get_repository(reponame)
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\versioncontrol\api.py"", line 526, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 162, in get_repository
    shortrev_len=self._shortrev_len)
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 180, in __init__
    Repository.__init__(self, ""git:""+path, None, log)
  File ""c:\users\admini~1\appdata\local\temp\easy_install-rtpgnw\Trac-0.12.2-py2.6-win32.egg.tmp\trac\versioncontrol\api.py"", line 732, in __init__
    self.reponame = params['name']
TypeError: 'NoneType' object is unsubscriptable
}}}
",cristian@…
8844,«No changeset HEAD in the repository»,defect,0.12,Herbert Valerio Riedel,closed,2011-05-29T20:31:46+02:00,2015-05-31T20:34:53+02:00,"With
{{{
cached_repository = false
persistent_cache = false
}}}

I've got «No changeset HEAD in the repository»

With
{{{
cached_repository = true
persistent_cache = true
}}}

I've got «Invalid changeset number (No changeset 4553bfa7e59390cf8d0452119a22de5a7a7ef0ac in the 
repository)»

 * Trac version: 0.12.1
 * GitPlugin version: 2c2193164c4a79ff7c44cff47ffa3575a7bfd4b1 from git repo

How to check/reproduce:

 * http url: http://projects.radlinux.org/cx/browser/
 * git url: git://projects.radlinux.org/cx

This completely blocks GitPlugin usage on my repo :(

Any logs/traces I can attach on a request.",Peter V. Saveliev
1639,"This error inhibits the usefullness of the plugin. It has affected tickets, reports and commits.",defect,0.10,Herbert Valerio Riedel,closed,2007-06-08T15:45:36+02:00,2008-02-06T16:18:31+01:00,"Traceback (most recent call last):
  File ""/usr/lib/python2.4/site-packages/trac/web/main.py"", line 387, in dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.4/site-packages/trac/web/main.py"", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.4/site-packages/trac/ticket/web_ui.py"", line 302, in process_request
    get_reporter_id(req, 'author'))
  File ""/usr/lib/python2.4/site-packages/trac/ticket/web_ui.py"", line 593, in _insert_ticket_data
    req.hdf['ticket.description.formatted'] = wiki_to_html(
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 999, in wiki_to_html
    Formatter(env, req, absurls, db).format(wikitext, out, escape_newlines)
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 822, in format
    result = re.sub(self.wiki.rules, self.replace, line)
  File ""/usr/lib64/python2.4/sre.py"", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 768, in replace
    replacement = self.handle_match(fullmatch)
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 761, in handle_match
    return external_handler(self, match, fullmatch)
  File ""/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 697, in <lambda>
    y, z))
  File ""/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 715, in _format_changeset_link
    changeset = self.env.get_repository().get_changeset(rev)
  File ""build/bdist.linux-x86_64/egg/gitplugin/git_fs.py"", line 63, in get_changeset
  File ""build/bdist.linux-x86_64/egg/gitplugin/git_fs.py"", line 189, in __init__
  File ""build/bdist.linux-x86_64/egg/gitplugin/PyGIT.py"", line 77, in read_commit
IndexError: pop from empty list
",anonymous
2247,TypeError: can't compare datetime.datetime to float,defect,0.11,Herbert Valerio Riedel,closed,2007-11-30T01:13:50+01:00,2012-07-03T15:17:38+02:00,"==== How to Reproduce ====

While doing a GET operation on `/browser`, Trac issued an internal error.


Request parameters:
{{{
{'path': '/'}
}}}


==== System Information ====

|| '''Trac''' || `0.11dev-r6139` ||
|| '''Python''' || `2.4.3 (#2, Oct  6 2006, 08:02:16) ` [[br]] `[GCC 4.0.3 (Ubuntu 4.0.3-1ubuntu5)]` ||
|| '''setuptools''' || `0.6c1` ||
|| '''SQLite''' || `3.2.8` ||
|| '''pysqlite''' || `2.0.5` ||
|| '''Genshi''' || `0.4.4` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.4/site-packages/Trac-0.11dev_r6139-py2.4.egg/trac/web/main.py"", line 386, in dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11dev_r6139-py2.4.egg/trac/web/main.py"", line 195, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11dev_r6139-py2.4.egg/trac/versioncontrol/web_ui/browser.py"", line 358, in process_request
    node.get_properties()),
  File ""/usr/lib/python2.4/site-packages/Trac-0.11dev_r6139-py2.4.egg/trac/versioncontrol/web_ui/browser.py"", line 400, in _render_dir
    timerange.insert(dt)
  File ""/usr/lib/python2.4/site-packages/Trac-0.11dev_r6139-py2.4.egg/trac/versioncontrol/web_ui/browser.py"", line 178, in insert
    self.oldest = min(self.oldest, datetime)
TypeError: can't compare datetime.datetime to float

}}}
",George Sudarkoff
6296,GitPlugin r6442: trac-admin resync repo.git fails,defect,0.11,Herbert Valerio Riedel,closed,2009-12-06T14:45:59+01:00,2010-03-02T22:18:40+01:00,"GitPlugin r7225, Python 2.5.4, not seeing any existing tickets:

{{{
  │2009-12-06 15:23:32,839 Trac[env] INFO: -------------------------------- environment startup [Trac 0.12multirepos-r8877] -----------------------------│
  │---                                                                                                                                                   │
  │2009-12-06 15:23:33,050 Trac[git_fs] INFO: detected GIT version 1.6.5                                                                                 │
  │2009-12-06 15:23:33,053 Trac[console] ERROR: Exception in trac-admin command:                                                                         │
  │Traceback (most recent call last):                                                                                                                    │
  │  File ""build/bdist.linux-i686/egg/trac/admin/console.py"", line 106, in onecmd                                                                        │
  │    rv = cmd.Cmd.onecmd(self, line) or 0                                                                                                              │
Ty│  File ""/usr/lib/python2.5/cmd.py"", line 218, in onecmd                                                                                               │
20│    return self.default(line)                                                                                                                         │
20│  File ""build/bdist.linux-i686/egg/trac/admin/console.py"", line 250, in default                                                                       │
20│    return cmd_mgr.execute_command(*args)                                                                                                             │
20│  File ""build/bdist.linux-i686/egg/trac/admin/api.py"", line 119, in execute_command                                                                   │
20│    return f(*fargs)                                                                                                                                  │
20│  File ""build/bdist.linux-i686/egg/trac/versioncontrol/admin.py"", line 142, in _do_resync                                                             │
20│    self._sync(reponame, rev, clean=True)                                                                                                             │
20│  File ""build/bdist.linux-i686/egg/trac/versioncontrol/admin.py"", line 113, in _sync                                                                  │
20│    repos = rm.get_repository(reponame, None)                                                                                                         │
20│  File ""build/bdist.linux-i686/egg/trac/versioncontrol/api.py"", line 499, in get_repository                                                           │
Tr│    repos = connector.get_repository(rtype, rdir, repoinfo.copy())                                                                                    │
  │  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 167, in get_repository                                                                │
  │    shortrev_len=self._shortrev_len)                                                                                                                  │
  │  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 185, in __init__                                                                      │
  │    Repository.__init__(self, ""git:""+path, None, log)                                                                                                 │
  │TypeError: __init__() takes exactly 5 arguments (4 given)                                                                                             │
}}}",lkraav
8944,Problem with cyrillic file name. (UnicodeDecodeError: 'utf8' codec can't decode),defect,0.12,Herbert Valerio Riedel,closed,2011-07-04T20:20:01+02:00,2015-05-31T20:34:53+02:00,"After commit in GIT repositiories file with cyrillic characters in filename and `cached_repository = true`, Trac fails sync. When `cached_repository = false` trac show error only on page, when he must show cyrillic filename.

{{{
trac-admin 0.12.2

Python 2.6.6

git version 1.7.5.3

TracGit 0.12.0.5dev
}}}",Charger
1721,Pop from empty list error,defect,0.10,Herbert Valerio Riedel,closed,2007-07-02T22:01:51+02:00,2007-09-13T06:46:28+02:00,"Trac crashes when accessing /wiki/WikiFormatting

I also have the webadmin plugin installed.
{{{
#!pytb
Traceback (most recent call last):
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 406, in dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.5/site-packages/trac/web/main.py"", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.5/site-packages/trac/wiki/web_ui.py"", line 135, in process_request
    self._render_view(req, db, page)
  File ""/usr/lib/python2.5/site-packages/trac/wiki/web_ui.py"", line 444, in _render_view
    'page_html': wiki_to_html(page.text, self.env, req),
  File ""/usr/lib/python2.5/site-packages/trac/wiki/formatter.py"", line 1001, in wiki_to_html
    Formatter(env, req, absurls, db).format(wikitext, out, escape_newlines)
  File ""/usr/lib/python2.5/site-packages/trac/wiki/formatter.py"", line 824, in format
    result = re.sub(self.wiki.rules, self.replace, line)
  File ""re.py"", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File ""/usr/lib/python2.5/site-packages/trac/wiki/formatter.py"", line 770, in replace
    replacement = self.handle_match(fullmatch)
  File ""/usr/lib/python2.5/site-packages/trac/wiki/formatter.py"", line 763, in handle_match
    return external_handler(self, match, fullmatch)
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 697, in <lambda>
    y, z))
  File ""/usr/lib/python2.5/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 715, in _format_changeset_link
    changeset = self.env.get_repository().get_changeset(rev)
  File ""build/bdist.linux-i686/egg/gitplugin/git_fs.py"", line 63, in get_changeset
    return GitChangeset(self.git, rev)
  File ""build/bdist.linux-i686/egg/gitplugin/git_fs.py"", line 189, in __init__
    (msg,props) = git.read_commit(sha)
  File ""build/bdist.linux-i686/egg/gitplugin/PyGIT.py"", line 77, in read_commit
    line = lines.pop(0)
IndexError: pop from empty list
}}}",anonymous
2632,Tries to retrieve a non-existent object for a changeset,defect,0.11,Herbert Valerio Riedel,closed,2008-02-25T02:19:41+01:00,2008-02-25T09:40:28+01:00,"Hi there:

When trying to retreive this page: GET: /changeset/65e5795d0a77b341ecfc9d9df7a7e08fe02dc3d5 
I get the following error:
Trac detected an internal error:
GitErrorSha: object '131ee778fd5757495d9807b24231111f801ed839' not found

I can't see why it is looking for that SHA...the SHA it should be looking for is specified in the URL.  I've had a quick look through the plugin but I don't have the time to find the issue myself right now.

Sometimes things work right, with many changesets, but some produce an incorrect SHA lookup.

I'm on the 0.11 branch using the timeline to look at my changesets.",jkp@…
5385,"GitPlugin reveals email in field ""git-comitter"" -- can't be turned off",defect,0.11,Herbert Valerio Riedel,closed,2009-06-16T12:55:20+02:00,2010-03-07T13:09:03+01:00,"I removed EMAIL_VIEW permissions for anonymous and emails don't show for anonymous except in changesets where everyone can see the info in ""!git-committer"" which reveals the email as well. 

I would like this to be abreviated like the normal email addresses.
A fix/hack would be if I could simply not show the !git-committer field.

Using:
*trac 0.11[[BR]]
*with GitPlugin that is in the Ubuntu 8.10 repos: 0.0.20080710-1[[BR]]
*running with mod_python. ",ditchschool+GitPlugin@…
6216,log:@REVa:REVb broken,defect,0.11,Herbert Valerio Riedel,closed,2009-11-16T21:00:05+01:00,2013-06-21T22:22:17+02:00,"When linking to a revision log, only the log: syntax can be used.  This however, is broken (unless using log:@ or log:@HEAD:HEAD or log:@HEAD, which trac seems fine with), and results in the following error.

{{{
ValueError: invalid literal for int() with base 10: 'REVa-REVb'
}}}

I'm not sure if this is trac issue or a GitPlugin issue.  Either way, I would like to be able to use the syntax.",anonymous
8473,Problem with Trac 0.12.2 and GitPlugin (BrowserModule),defect,0.12,Herbert Valerio Riedel,closed,2011-02-07T10:43:01+01:00,2015-05-31T20:34:53+02:00,"Today, I reinstalled Trac and GitPlugin and now I get the following warning:
{{{
Warning: Error with navigation contributor ""BrowserModule"" 
}}}

The ''Browse Source'' tab is missing. With Trac 0.12.2rc1 there was no Problem. ",tss.soft@…
8333,Git plugin relies on hardcoded path to git executable,defect,0.12,Herbert Valerio Riedel,closed,2010-12-23T08:19:37+01:00,2010-12-23T09:48:18+01:00,"...making it incompatible with FreeBSD, which uses /usr/local as a prefix for most installed stuffs like git.",Chris Tandiono
789,Support for branches ?,enhancement,0.10,Herbert Valerio Riedel,closed,2006-10-11T00:55:11+02:00,2008-02-08T08:45:37+01:00,"Hello,

First, thank you for this work. It works beautifully, is very nicely integrated... Except that I'd like to be able to switch branches in the view.
This is something that I could do with multiple git repositories, all mirrors, all switched to a different branches... If trac supported multiple repositories (which may be the case).

Jean-Baptiste",jean-baptiste.note@…
801,Encoding problems with strings,defect,0.10,Herbert Valerio Riedel,closed,2006-10-12T18:52:35+02:00,2007-08-15T01:37:17+02:00,"Hello,

My git commit logs have UTF-8 characters in them (essentially, unbreakable spaces, due to a lingering finger on the alt key in a UTF8 environment). This yields the following error:

Python Traceback

Traceback (most recent call last):
  File ""/usr/lib/python2.4/site-packages/trac/web/main.py"", line 356, in dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.4/site-packages/trac/web/main.py"", line 224, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/browser.py"", line 131, in process_request
    self._render_directory(req, repos, node, rev)
  File ""/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/browser.py"", line 156, in _render_directory
    changes = get_changes(self.env, repos, [i['rev'] for i in info])
  File ""/usr/lib/python2.4/site-packages/trac/versioncontrol/web_ui/util.py"", line 47, in get_changes
    shorten=True, absurls=absurls)
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 1006, in wiki_to_oneliner
    OneLinerFormatter(env, absurls, db).format(wikitext, out, shorten)
  File ""/usr/lib/python2.4/site-packages/trac/wiki/formatter.py"", line 914, in format
    result = re.sub(self.wiki.rules, self.replace, result)
  File ""sre.py"", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 5: ordinal not in range(128)

Changing the locale environment variable in apache with SetEnv to be UTF8 does not change anything in the plugin (it does change for python, though, as I had to generate the associated locale before trac could work again). So I resorted to the following hack. I'm a complete python newbie, so i don't know if this makes sense.

Jean-Baptiste",jean-baptiste.note@…
983,state public site using git plugin pls,task,0.10,Herbert Valerio Riedel,closed,2006-12-12T11:03:29+01:00,2008-02-05T08:02:51+01:00,"Could you please link to a public site using the Git plugin?
",anonymous
2552,diff'ing changesets doesn't work if caching is turned on.,defect,0.11,Herbert Valerio Riedel,closed,2008-02-12T11:42:35+01:00,2008-02-15T10:36:50+01:00,"python 2.5
gitplugin r3214
trac 0.11b1

attempts to diff two different changesets fail because trac calls get_changes with the ignore_ancestory optional parameter set.

This can be resolved by adding an (ignored) ingnore_ancestory parameter to get_changes in git_fs.py (I don't know the implications of this, but if git's version of get_changes doesn't accept the parameter, then presumably we can accept and ignore it).",archie@…
2602,Diff files cannot be downloaded,defect,0.10,Herbert Valerio Riedel,closed,2008-02-19T01:50:17+01:00,2008-03-03T09:15:52+01:00,"You cannot download Unified or Zipped diff files - see ticket http://reductivelabs.com/trac/puppet/ticket/1071#comment:1.  

You can also see this behaviour by trying to download a diff from:

http://reductivelabs.com/trac/puppet/changeset/60dd569",james@…
2671,Traceback on nonexistent paths with 0.10 git plugin,defect,0.10,Herbert Valerio Riedel,closed,2008-03-03T17:48:32+01:00,2009-03-20T16:41:01+01:00,"If you visit /browser/this_path_does_not_exist, the following traceback will occur using the 0.10 plugin (0.11 with its respective plugin shows the correct ""No node"" error).

{{{
Traceback (most recent call last):
  File ""/home/tim/code/trac-0.10.3.1/trac/web/main.py"", line 387, in dispatch_request
  File ""/home/tim/code/trac-0.10.3.1/trac/web/main.py"", line 237, in dispatch
  File ""/home/tim/code/trac-0.10.3.1/trac/versioncontrol/web_ui/browser.py"", line 145, in process_request
  File ""/home/tim/code/trac-0.10.3.1/trac/versioncontrol/web_ui/browser.py"", line 246, in _render_file
  File ""/home/tim/tmp/gitplugin/0.10/gitplugin/git_fs.py"", line 97, in get_changeset
    return GitChangeset(self.git, rev)
  File ""/home/tim/tmp/gitplugin/0.10/gitplugin/git_fs.py"", line 237, in __init__
    (msg,props) = git.read_commit(sha)
  File ""/home/tim/tmp/gitplugin/0.10/gitplugin/PyGIT.py"", line 76, in read_commit
    raw = self._git_call(""git-cat-file commit ""+sha)
TypeError: cannot concatenate 'str' and 'NoneType' objects
}}}

Noticed in the wild on all demo environments linked, and verified against 0.10.3.1 and the latest git plugin from http://trac-hacks.org/svn/gitplugin/0.10 today.",Tim Hatch
2685,shortrev_len does not work,defect,0.12,Herbert Valerio Riedel,closed,2008-03-05T00:12:38+01:00,2023-08-27T17:20:59+02:00,Trac-0.11b1 and gitplugin (3275). no matter how I set shortrev_len rev sha remain 40 caracter long,xlyz@…
2806,Need to declare namespace packages,defect,0.11,Herbert Valerio Riedel,closed,2008-03-27T08:46:26+01:00,2008-08-17T11:48:41+02:00,"See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages

You need to declare tracext as a namespace package.",Noah Kantrowitz
2807,resync breaks if first commit is empty,defect,0.11,Herbert Valerio Riedel,closed,2008-03-27T13:09:27+01:00,2010-03-19T07:06:56+01:00,"If the first commit is empty, e.g. by importing using git-svn a repository whose first commit creates only a directory (which git does not support), trac-admin resync fails with the following error:

IndexError: list index out of range

A patch is attached, this may or may not be the right way to fix it.",anonymous
2854,GitPlugin doesn't like file mode changes denoted by 'T',defect,0.11,Herbert Valerio Riedel,closed,2008-04-04T03:19:03+02:00,2009-02-23T03:15:14+01:00,"Every time I try enabling cached_repository on my git repo trac environment, I get the below error and the trac pages all have errors.  The plugin works great (though annoyingly slow when we hit the timeline or browse pages) as long as cached repo is off (persistant cache setting seems to be ok either way, though I don't really notice any speedup with it).

Any ideas?
{{{
Apr  3 17:17:15 engineering Trac[git_fs] INFO: detected GIT version 1.5.4.1
Apr  3 17:17:15 engineering Trac[git_fs] INFO: enabled CachedRepository for '/usr/local/share/tnxi/tnxius.git'
Apr  3 17:17:15 engineering Trac[cache] INFO: repos rev [5059dfb4e4fe04c274cba871bc4a37a38c89f5e4] != cached rev [3fdc098d0094714a379f5ef2c126b6b76f133947]
Apr  3 17:17:15 engineering Trac[cache] INFO: Trying to sync revision [f53dedf7792a8f74a41e337427e3cb890f96049a]
Apr  3 17:17:15 engineering Trac[main] ERROR: 'T'#012Traceback (most recent call last):#012  File ""/usr/lib/python2.5/site-packages/Trac-0.11dev_r6787-py2.5.egg/trac/web/main.py"", line 417, in _dispatc
h_request#012    dispatcher.dispatch(req)#012  File ""/usr/lib/python2.5/site-packages/Trac-0.11dev_r6787-py2.5.egg/trac/web/main.py"", line 173, in dispatch#012    chosen_handler)#012  File ""/usr/lib/py
thon2.5/site-packages/Trac-0.11dev_r6787-py2.5.egg/trac/web/main.py"", line 286, in _pre_process_request#012    chosen_handler = filter_.pre_process_request(req, chosen_handler)#012  File ""/usr/lib/pyth
on2.5/site-packages/Trac-0.11dev_r6787-py2.5.egg/trac/versioncontrol/api.py"", line 79, in pre_process_request#012    self.get_repository(req.authname).sync()#012  File ""/usr/lib/python2.5/site-packages
/Trac-0.11dev_r6787-py2.5.egg/trac/versioncontrol/cache.py"", line 192, in sync#012    for path,kind,action,bpath,brev in cset.get_changes():#012  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py""
, line 432, in get_changes#012    action = GitChangeset.action_map[action[0]]#012KeyError: 'T'
}}}",anonymous
2937,Syntax Error,defect,0.10,Herbert Valerio Riedel,closed,2008-04-21T23:50:32+02:00,2008-06-14T00:11:36+02:00,"I tried to install the plugin from Subversion, using the following steps:

{{{
svn co http://trac-hacks.org/svn/gitplugin/0.10/
cd 0.10
python setup.py bdist_egg
}}}

When I ran setup, I go the following error:

{{{
File ""build/bdist.linux-i686/egg/gitplugin/git_fs.py"", line 253
    yield(""git-""+k, "", "".join((""[%s]"" % c) for c in v), True, 'changeset')
}}}

I have Python 2.3.4

",anonymous
3008,Method previous_rev() with 3 arguments,defect,0.11,Herbert Valerio Riedel,closed,2008-05-09T01:31:25+02:00,2008-09-10T08:40:48+02:00,"
In order to make work properly Git with Trac and avoid an error when visualizing changesets, I have had to change file 'gitplugin/0.11/tracext/git/git_fs.py', and add a third argument:

line 252:   def previous_rev(self, rev, '''path='''''):

It seems like Trac calls previous_rev() with 3 arguments when GitPlugin's original method has 2 arguments.",marble
3141,submodule handling,defect,0.11,Herbert Valerio Riedel,closed,2008-06-07T16:43:03+02:00,2010-01-05T21:37:13+01:00,"the code breaks at some places in git_fs, on commits having submodule changes. the first one i found is '''get_content_length''' returning None, and then trac trying to sum Nones. a quick workaround is changing 

{{{
if not self.isfile:
  return None
}}}
to
{{{
if not self.isfile:
  return 0
}}}

the second is in '''get_changes'''. submodule changes have a different mode than directory changes, so they end up with kind = file, and trac tries to read the content. my workaround is changing the condition

{{{
if mode2.startswith('04') or mode1.startswith('04'):
  kind = Node.DIRECTORY
}}}

to

{{{
if mode2.startswith('04') or mode1.startswith('04') or mode1.startswith('16'):
  kind = Node.DIRECTORY
}}}
so these changes are treated like directory changes.

these are just some quick hacks, but they make the plugin usable on repos with submodules, until there's a better solution.",anonymous
3192,internal server error traceback,defect,0.10,Herbert Valerio Riedel,closed,2008-06-15T19:47:08+02:00,2008-08-17T12:04:58+02:00,"
{{{
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend: Traceback (most recent call last):
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/mod_python/apache.py"", line 299, in HandlerDispatch\n    result = object(req)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/web/modpython_frontend.py"", line 87, in handler\n    gateway.run(dispatch_request)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/web/wsgi.py"", line 87, in run\n    response = application(self.environ, self._start_response)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/web/main.py"", line 391, in dispatch_request\n    env = _open_environment(env_path, run_once=run_once)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/web/main.py"", line 58, in _open_environment\n    env_cache[env_path] = open_environment(env_path)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/env.py"", line 462, in open_environment\n    env = Environment(env_path)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/env.py"", line 142, in __init__\n    load_components(self)
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/trac/loader.py"", line 101, in load_components\n    entry_point.load()
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/setuptools-0.6c5-py2.3.egg/pkg_resources.py"", line 1830, in load\n    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:   File ""/usr/lib/python2.3/site-packages/TracGit-0.0.1-py2.3.egg/gitplugin/git_fs.py"", line 253
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:     yield(""git-""+k, "", "".join((""[%s]"" % c) for c in v), True, 'changeset')
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend:                                              ^
[Sun Jun 15 17:34:30 2008] [error] [client 2.9.11.89] PythonHandler trac.web.modpython_frontend: SyntaxError: invalid syntax

}}}
",kain
3279,IndexError: list index out of range,defect,0.11,Herbert Valerio Riedel,closed,2008-06-28T09:32:47+02:00,2008-06-28T09:43:38+02:00,"I got this error when I tried to resync my environment with trac-admin

{{{
Resyncing repository history... 
Traceback (most recent call last):87f6ceb6]
  File ""/usr/bin/trac-admin"", line 8, in <module>
    load_entry_point('Trac==0.11', 'console_scripts', 'trac-admin')()
  File ""/usr/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/admin/console.py"", line 1249, in run
    return admin.onecmd(command)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/admin/console.py"", line 104, in onecmd
    rv = cmd.Cmd.onecmd(self, line) or 0
  File ""/usr/lib/python2.5/cmd.py"", line 219, in onecmd
    return func(arg)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/admin/console.py"", line 632, in do_resync
    repos = env.get_repository().sync(self._resync_feedback)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/versioncontrol/cache.py"", line 195, in sync
    for path,kind,action,bpath,brev in cset.get_changes():
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 424, in get_changes
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 639, in diff_tree
IndexError: list index out of range
}}}",anonymous
3451,Cannot build git plugin against 0.11,defect,0.11,Herbert Valerio Riedel,closed,2008-07-24T19:46:47+02:00,2008-07-24T23:20:19+02:00,"I cannot build the current zip, or svn checkout of GitPlugin.

{{{
byte-compiling build/bdist.linux-i686/egg/tracext/git/git_fs.py to git_fs.pyc
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 361
    yield (self.path, rev, Changeset.EDIT if not is_last else Changeset.ADD)
                                           ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-i686/egg/tracext/git/PyGIT.py to PyGIT.pyc
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 71
    with self.__lock:
            ^
SyntaxError: invalid syntax
byte-compiling build/bdist.linux-i686/egg/tracext/git/__init__.py to __init__.pyc
installing package data to build/bdist.linux-i686/egg
}}}

The .zip has just the first error, the svn checkout is as above.  When installed, the egg tosses the same error.

Suggestions?

",anonymous
3454,"GitPlugin fails to work, with short error",defect,0.11,Herbert Valerio Riedel,closed,2008-07-24T23:23:00+02:00,2008-08-17T12:01:46+02:00,"After upgading to python 2.4, and updating my system in general, I finally got back to trying GitPlugin.

After installing, clicking on Browse Source shows:
internal error (got unexpected object kind 'commit')

The trac.log shows:
{{{
2008-07-24 17:17:37,387 Trac[main] WARNING: 500 Trac Error (internal error (got unexpected object kind 'commit'))
}}}

Nothing of note shows in apache logs.",anonymous
3562,TypeError: previous_rev() takes exactly 2 arguments (3 given),defect,0.11,Herbert Valerio Riedel,closed,2008-08-16T02:30:27+02:00,2008-08-17T11:19:41+02:00,"When displaying a changeset i got this error:
{{{
TypeError: previous_rev() takes exactly 2 arguments (3 given)
}}}

Changing git_fs.py line 252 from
{{{
def previous_rev(self, rev):
}}}
to
{{{
def previous_rev(self, rev, foo):
}}}

seems to solve the issue.

I'm not python programmer so i can't judge about this, just wanted to let you know.

Running python 2.5.2, trac 0.11, gitplugin revision 4146.",anonymous
3593,Improve display of merge changesets,enhancement,0.12,Herbert Valerio Riedel,closed,2008-08-22T08:25:36+02:00,2010-10-16T17:40:07+02:00,see [T7261],anonymous
3675,defunkt and open processes,defect,0.11,Herbert Valerio Riedel,closed,2008-09-06T15:44:34+02:00,2009-03-20T16:10:18+01:00,"Hello, 

browsing the source-code/wiki/timeline/... with GitPlugin results in defunkt git processes and some other processes won't close properly after serving the request. After some time the operating system runs out of memory and it won't be possible to ssh into the server anymore :(.
Unfortunately I haven't found out how to reproduce the bug properly :(. ps aux | grep gi[t] prints the following processes:
{{{
www-data  3273  0.0  0.0   4948  1232 ?        S    15:31   0:00 git --git-dir=/pub/scm/snip-fu/ cat-file blob bca73b2b96c5f68566fc08547489dfdf8a6babbb
www-data  3562  0.2  0.0      0     0 ?        Z    15:35   0:00 [git] <defunct>
}}}
I'm using Trac 0.11, Python 2.5, git 1.5.6.3 on Debian Etch 4.0 with the latest svn-version of the plugin.
My config looks like: 
{{{
[git]
cached_repository = true
persistend_cache = true
}}}
kind regards",naxat88@…
3888,WikiLinking branch heads?,enhancement,0.11,Herbert Valerio Riedel,closed,2008-10-13T05:27:11+02:00,2013-06-21T22:18:17+02:00,Is it possible to create a wikilink to a branch head? Using the SHA1 hash doesn't work of course because it doesn't track the HEAD,anonymous
4133,[GitPlugin] GitPlugin hate accent,defect,0.11,Herbert Valerio Riedel,closed,2008-11-20T19:19:57+01:00,2009-03-20T16:39:00+01:00,"Hello.

When we have an accent into a directory name (typically a ""É""), GitPlugin think that a 404 error is cool for source browsing.

But, i think no.

Bye, and thinks for this plugin ;-)",anonymous (or god)
4139,GitPlugin doesn't handle fresh repositories well,defect,0.11,Herbert Valerio Riedel,closed,2008-11-21T18:30:37+01:00,2009-03-20T16:31:19+01:00,"When using GitPlugin with a repository that hasn't been used yet, it just displays an AssertionError without further details.

'''Do this to reproduce it:'''[[BR]]
- Create a new git-repository using

{{{
git init && git add .
}}}

- Point your ''trac.ini'' to this repository[[BR]]
- Point your webbrowser to your trac[[BR]]

'''What happens?'''[[BR]]
- This error message is displayed in the web browser:
{{{
Trac detected an internal error:
  AssertionError:
}}}
- This lines are displayed in your trac logfile:
{{{
2008-11-21 17:48:50,627 Trac[git_fs] INFO: detected GIT version 1.5.6.4
2008-11-21 17:48:50,635 Trac[PyGIT] DEBUG: PyGIT.Storage instance 29644272 constructed
2008-11-21 17:48:50,636 Trac[PyGIT] DEBUG: requested PyGIT.Storage instance 29644272 for '/var/repositories/git/timetracker/.git'
2008-11-21 17:48:50,640 Trac[git_fs] INFO: enabled CachedRepository for '/var/repositories/git/timetracker/.git'
2008-11-21 17:48:50,666 Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 29644272
2008-11-21 17:48:50,706 Trac[PyGIT] DEBUG: rebuilt commit tree db for 29644272 with 0 entries
2008-11-21 17:48:50,712 Trac[main] ERROR: 
Traceback (most recent call last):
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 432, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 174, in dispatch
    chosen_handler)
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 295, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/api.py"", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/cache.py"", line 115, in sync
    repos_youngest = self.repos.youngest_rev
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/api.py"", line 279, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 189, in get_youngest_rev
    return self.git.youngest_rev()
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 331, in youngest_rev
    return self.rev_cache[0]
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 316, in get_rev_cache
    assert all(e is not None for e in self.__rev_cache)
AssertionError
}}}

'''How was this problem resolved?'''[[BR]]
By doing a 
{{{
git commit -m ""Initial commit""
}}}
in the repository

'''What should happen instead?'''[[BR]]
The GitPlugin should know how to handle this case and display a message like
{{{
Your repository can't be used for now - please do a initial commit first!
}}}

'''What software/version were used?'''[[BR]]
- apache-2.2.9[[BR]]
- mod_python-3.3.1[[BR]]
- python-2.5.2[[BR]]
- git-1.5.6.4[[BR]]
- trac-0.11.2[[BR]]
- track-hacks.org gitplugin from Nov. 21th, 2008[[BR]]
",mail@…
4138,GitPlugin doesn't handle fresh repositories well,defect,0.11,Herbert Valerio Riedel,closed,2008-11-21T18:30:37+01:00,2008-11-23T15:31:51+01:00,"When using GitPlugin with a repository that hasn't been used yet, it just displays an AssertionError without further details.

'''Do this to reproduce it:'''[[BR]]
- Create a new git-repository using

{{{
git init && git add .
}}}

- Point your ''trac.ini'' to this repository[[BR]]
- Point your webbrowser to your trac[[BR]]

'''What happens?'''[[BR]]
- This error message is displayed in the web browser:
{{{
Trac detected an internal error:
  AssertionError:
}}}
- This lines are displayed in your trac logfile:
{{{
2008-11-21 17:48:50,627 Trac[git_fs] INFO: detected GIT version 1.5.6.4
2008-11-21 17:48:50,635 Trac[PyGIT] DEBUG: PyGIT.Storage instance 29644272 constructed
2008-11-21 17:48:50,636 Trac[PyGIT] DEBUG: requested PyGIT.Storage instance 29644272 for '/var/repositories/git/timetracker/.git'
2008-11-21 17:48:50,640 Trac[git_fs] INFO: enabled CachedRepository for '/var/repositories/git/timetracker/.git'
2008-11-21 17:48:50,666 Trac[PyGIT] DEBUG: triggered rebuild of commit tree db for 29644272
2008-11-21 17:48:50,706 Trac[PyGIT] DEBUG: rebuilt commit tree db for 29644272 with 0 entries
2008-11-21 17:48:50,712 Trac[main] ERROR: 
Traceback (most recent call last):
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 432, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 174, in dispatch
    chosen_handler)
  File ""/usr/lib64/python2.5/site-packages/trac/web/main.py"", line 295, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/api.py"", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/cache.py"", line 115, in sync
    repos_youngest = self.repos.youngest_rev
  File ""/usr/lib64/python2.5/site-packages/trac/versioncontrol/api.py"", line 279, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 189, in get_youngest_rev
    return self.git.youngest_rev()
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 331, in youngest_rev
    return self.rev_cache[0]
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 316, in get_rev_cache
    assert all(e is not None for e in self.__rev_cache)
AssertionError
}}}

'''How was this problem resolved?'''[[BR]]
By doing a 
{{{
git commit -m ""Initial commit""
}}}
in the repository

'''What should happen instead?'''[[BR]]
The GitPlugin should know how to handle this case and display a message like
{{{
Your repository can't be used for now - please do a initial commit first!
}}}

'''What software/version were used?'''[[BR]]
- apache-2.2.9[[BR]]
- mod_python-3.3.1[[BR]]
- python-2.5.2[[BR]]
- git-1.5.6.4[[BR]]
- trac-0.11.2[[BR]]
- track-hacks.org gitplugin from Nov. 21th, 2008[[BR]]
",mail@…
4227,Cannot detect GIT version: All git commands result in git usage output which is unparsable.,defect,0.11,Herbert Valerio Riedel,closed,2008-12-08T21:59:47+01:00,2015-05-31T20:34:53+02:00,"The cause of this issue is hidden until you disable the catching of it which masks it into the error message you see in the summary.

After disabling this try-catch block, you see the real cause:
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.6/site-packages/trac/web/main.py"", line 432, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.6/site-packages/trac/web/main.py"", line 174, in dispatch
    chosen_handler)
  File ""/usr/lib/python2.6/site-packages/trac/web/main.py"", line 295, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib/python2.6/site-packages/trac/versioncontrol/api.py"", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File ""/usr/lib/python2.6/site-packages/trac/versioncontrol/api.py"", line 132, in get_repository
    for connector in self.connectors
  File ""/usr/lib/python2.6/site-packages/trac/core.py"", line 67, in extensions
    return filter(None, [component.compmgr[cls] for cls in extensions])
  File ""/usr/lib/python2.6/site-packages/trac/core.py"", line 204, in __getitem__
    component = cls(self)
  File ""/usr/lib/python2.6/site-packages/trac/core.py"", line 108, in maybe_init
    init(self)
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 66, in __init__
    self._version = PyGIT.Storage.git_version(git_bin=self._git_bin)
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 145, in git_version
    [v] = output.readlines()
}}}

It appears git was outputting:

{{{
usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [-p|--paginate|--no-pager] [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] [--help] COMMAND [ARGS]

The most commonly used git commands are:
   add        Add file contents to the index
...
}}}

Which is, for obvious reasons, not parsable into a version string.

The attached patch fixed the issue.  Key is `shell=False` in the `Popen` call.

Without this patch, GitPlugin is completely useless, obviously.

I am unsure which environmental conditions triggered this bug; things used to run fine here until I did a system upgrade.",lhunath
4733,missing post commit hook,enhancement,0.11,Herbert Valerio Riedel,closed,2009-03-02T23:11:56+01:00,2010-10-06T06:38:05+02:00,the feature to close tickets via the commit message is missing (example: fixes #3),anonymous
5203,Plugin does not work with git 1.6,defect,0.11,Herbert Valerio Riedel,closed,2009-05-07T22:47:43+02:00,2009-05-07T23:38:28+02:00,Plugin returns wrong HEAD when used with git 1.6 - used svn code,anonymous
5273,SyntaxErrors (for python <2.5) in PyGit.py  and git_fs.py in revision 5846,defect,0.11,Herbert Valerio Riedel,closed,2009-05-23T14:07:05+02:00,2013-04-27T02:44:39+02:00,"Syntax Errors:

source:/gitplugin/0.11/tracext/git/git_fs.py#5846#L361

source:/gitplugin/0.11/tracext/git/PyGIT.py#5846#L361

{{{
# python -V
Python 2.4.3

# svn update
At revision 5846.

# python tracext/git/git_fs.py 
  File ""tracext/git/git_fs.py"", line 361
    yield (self.path, rev, Changeset.EDIT if not is_last else Changeset.ADD)
                                           ^
SyntaxError: invalid syntax

# python tracext/git/PyGIT.py 
  File ""tracext/git/PyGIT.py"", line 89
    with self.__lock:
            ^
SyntaxError: invalid syntax

}}}",anonymous
5310,GitPlugin requires Python 2.5,defect,0.11,Herbert Valerio Riedel,closed,2009-06-01T23:56:32+02:00,2010-03-07T12:25:50+01:00,"GitPlugin 0.11 now requires Python 2.5.  This is a problem for anyone running current version of RHEL, CentOS, etc. only support Python 2.4.  If the requirement for Python 2.5 is based on syntactic sugar only, I suggest modifications to make this only require Python 2.4",Jeremy Ross
5351,Incorrect author in timeline and log - GitPlugin shows committer instead of author,defect,0.12,Herbert Valerio Riedel,closed,2009-06-08T22:36:31+02:00,2010-10-16T14:46:27+02:00,"When the author differs from the committer, GitPlugin seems to favor the committer over the author as ""Trac Author"". This has impact in the timeline, log, and various other locations.

GitPlugin seems to have this concept of ""Trac Author"" in addition to ""git-author"" and ""git-committer"", as can be seen on: http://sablecc.org/changeset/1a3b6173986aa9cfc694acba0ecbbb7e40028f22

There might be reasons why a project would like to show the committer name, instead of the author name, in the timeline and log to show committer activity. Yet, other projects might have very few, or even a single committer in their official repository, as encouraged by Git. In such a case, it might make more sense to show the real author name in the timeline and log.

I suggest using a configuration flag to chose which of the git-author or git-committer to use as ""Trac Author"", so that everybody is pleased.
",egagnon@…
5475,Path of filename incorrect - breaks MIME detection for syntax highlighting,defect,0.11,Herbert Valerio Riedel,closed,2009-07-06T08:16:29+02:00,2010-03-17T22:36:03+01:00,"It seems that a forward slash ('/') is being appended to the end of the filename. This breaks syntax highlighting for most files because the MIME detection code uses the file extension to determine the MIME type before checking chunks of code.

I have a work around for this by adding code to strip the trailing forward slash ('/') in the GitRepository->get_node() code.",Haw Loeung
5480,GitError: GIT control files not found,defect,0.11,Herbert Valerio Riedel,closed,2009-07-06T23:44:56+02:00,2010-08-04T05:07:38+02:00,"Attempted to use GitPlugin (v. 0.11.0.2; most recent SVN version as of today) to provide git repository support for a project. GitPlugin installs just fine using python-setuptools. Too, when using tracd to host, the plugin works fine. However, when using mod_python, I get this error:

{{{
Trac detected an internal error:

GitError: GIT control files not found, maybe wrong directory?
}}}

I ''think'' that the problem is in this mess:

{{{
2009-07-06 17:14:15,200 Trac[git_fs] INFO: detected GIT version 1.5.6.3
2009-07-06 17:14:15,200 Trac[PyGIT] ERROR: GIT control files missing in '/home/tony/bin/eggdrop/scripts/.git'
2009-07-06 17:14:15,202 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File ""/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/web/main.py"", line 435, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/web/main.py"", line 175, in dispatch
    chosen_handler)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/web/main.py"", line 298, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/versioncontrol/api.py"", line 86, in pre_process_request
    self.get_repository(req.authname).sync()
  File ""/usr/lib/python2.5/site-packages/Trac-0.11.4-py2.5.egg/trac/versioncontrol/api.py"", line 157, in get_repository
    repos = self._connector.get_repository(rtype, rdir, authname)
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 159, in get_repository
    shortrev_len=self._shortrev_len)
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 176, in __init__ 
    git_bin=git_bin).getInstance()
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 120, in __init__
    i = Storage(repo, log, git_bin)
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 194, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
}}}

...but just in case I'm wrong, I've attached my trac.log and trac.ini files.",tmontuori@…
5571,Cannot Detect GIT Version,defect,0.11,Herbert Valerio Riedel,closed,2009-07-28T01:13:07+02:00,2012-10-27T11:43:41+02:00,"Replying to [comment:17 thatch] from [Ticket #4227]:
> Make sure you're using the latest version of the git plugin for trac as well, that's where the fix went in and the one version you didn't list.  If you're using >= r5396 of the git plugin, please open a new ticket because it's likely a different issue.

I am using Trac 11.5 and GitPlugin r6294.

When I install the plugin and configure as described on the wiki (http://trac-hacks.org/wiki/GitPlugin), the Browser does not show my repository and the trac log gives be an error: Could not retrieve GIT version.  

This error is being thrown by PyGit.Storage.git_version.  I got around this problem by changing git_fs.py, line 66, removing the parameter, but this caused other problems I think, notably the Browser not finding my repository root.
",czerwonka@…
5612,get_node() failes when no revision is specified,defect,0.11,Herbert Valerio Riedel,closed,2009-08-04T00:26:35+02:00,2009-08-28T00:14:53+02:00,"When a revision is not specified, `None` is passed to `ls_tree`.  This then dies due to the `None` object not being valid on a command line.

Attached is a fix that substitutes `HEAD` for the revision when no revision is specified.",John Hampton
5728,Missing submodules support,defect,0.11,Herbert Valerio Riedel,closed,2009-08-26T23:55:33+02:00,2010-10-16T15:02:35+02:00,"Browsing to a submodule of a repository results in this error

  internal error (got unexpected object kind 'commit')

Is this a bug or has submodule support simply not been implemented (yet)?

Are there any plans to introduce/fix submodule support? If not, could you perhaps give some feedback re: what needs to be done?
",Tom Lazar
5775,NameError: global name 'all' is not defined,defect,0.11,Herbert Valerio Riedel,closed,2009-09-04T10:23:36+02:00,2010-03-07T13:43:10+01:00,"Python Traceback

Most recent call last:
File ""/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/web/main.py"", line 423, in _dispatch_request
  dispatcher.dispatch(req)
File ""/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/web/main.py"", line 197, in dispatch
  resp = chosen_handler.process_request(req)
File ""/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/versioncontrol/web_ui/browser.py"", line 342, in process_request
  rev_or_latest = rev or repos.youngest_rev
File ""/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/versioncontrol/api.py"", line 264, in <lambda>
  youngest_rev = property(lambda x: x.get_youngest_rev())
File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 197, in get_youngest_revFile ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 352, in youngest_revFile ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 336, in get_rev_cache

User Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.2 Safari/532.0

Trac:	0.11
Python:	2.4.4 (#1, Apr 15 2008, 23:37:53) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]
setuptools:	0.6c3
SQLite:	2.8.17
pysqlite:	1.0.1
Genshi:	0.5.1
mod_python:	3.2.10
GIT:	1.6.3.1
jQuery:	1.2.3",Sebastian Marek
5861,Cannot enable gitplugin,defect,0.11,Herbert Valerio Riedel,closed,2009-09-23T04:12:20+02:00,2010-03-17T22:27:54+01:00,"
I just installed Python-2.6.2, git-1.6.4.4, Trac-0.11.5 on a CentOS 5, and gitplugin-r6584

I have this lines on trac.oini 

{{{
[components]
tracext.git.* = enabled

[git]
## let Trac cache meta-data via CachedRepository wrapper; default: false
#cached_repository = true

## disable automatic garbage collection for in-memory commit-tree cache; default: false
#persistent_cache = true

## length revision sha-sums should be tried to be abbreviated to (must be >= 4 and <= 40); default: 7
#shortrev_len = 6

## executable file name (optionally with path) of git binary; default: 'git'
git_bin = /usr/local/bin/git

[trac]
repository_dir = /home/git/repository.git
repository_type = git

}}}

and I stuill getting this message:

{{{
Warning: Can't synchronize with the repository (Unsupported version control system ""git"": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.
}}}
",anonymous
6217,Obey timeline abbreviated messages setting,defect,0.11,Herbert Valerio Riedel,closed,2009-11-16T21:11:23+01:00,2010-10-17T16:08:06+02:00,"Changeset messages are abbreviated regardless of the setting in trac.ini:
{{{
[timeline]
abbreviated_messages = false
}}}",anonymous
6274,UnicodeDecodeError on UTF-8 encoded filenames,defect,0.11,Herbert Valerio Riedel,closed,2009-11-30T09:40:08+01:00,2010-03-07T13:55:45+01:00,"I'm using the Debian/lenny packages of trac (0.11.1-2.1) and trac-git (0.0.20080710-3) for the Trac instance at http://serviceplatform.org:8000/trac/browser/admin.

Browsing most directories work fine. However, there are some like the prepared ""testarea"" subdirectory which contain non-ASCII filenames encoded in UTF-8. I see some mention of unicode() in the GitPlugin files but cannot really see where the fix would belong.

This is the error message in case the site is unreachable:

Trac detected an internal error:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 15: ordinal not in range(128)
",josef
6554,[patch] Add Trac 0.12 support,enhancement,0.12,Herbert Valerio Riedel,closed,2010-02-07T04:31:08+01:00,2013-05-02T05:26:33+02:00,"Attached is a patch to make the plugin work in 0.12, as mentioned in #1040.  It updates the code to match the recent API changes in Trac:MultiRepos, and also makes abbreviated SHA-1's work in Trac:TracLinks.

You'll need to make the 0.12 branch first (`svn cp 0.11 0.12`) before applying this.  I wasn't sure if there was a way to include that in the patch itself.  It seems that Git has pushed all the SVN knowledge out of my brain :)

Also, it currently only works if `cached_repository` is disabled; not sure why at the moment.  But the rest of it seems to be working.",kevin.mcconnell@…
6885,where i can get a v0.11.0.1 plugin version ?,defect,0.11,Herbert Valerio Riedel,closed,2010-03-26T13:46:29+01:00,2010-10-06T06:49:57+02:00,"Good day everyone. I'm try to install GitPlugin in that environment: RHEL release 5.4 (Tikanga)i386 , Trac-0.11.4-py2.4.egg, python-2.4.3-27.el5.i386, subversion-1.5.1-1.i386, git-1.5.5.6-4.el5.i386

When I try to svn co from ""http://trac-hacks.org/svn/gitplugin/0.11-py2.4"" , and compile a plugin by ""python setup.py bdist_egg"" then I get an error:

{{{
writing entry points to TracGit.egg-info/entry_points.txt
Traceback (most recent call last):
  File ""setup.py"", line 23, in ?

...

  File ""/usr/lib/python2.4/site-packages/setuptools/command/sdist.py"", line 52, in _default_revctrl
    for path in finder(dirname,path):
  File ""/usr/lib/python2.4/site-packages/setuptools/command/sdist.py"", line 98, in entries_finder
    log.warn(""unrecognized .svn/entries format in %s"", dirname)
NameError: global name 'log' is not defined
}}}

So, I'm download from source zip archive and compile plugin. After install the plugin in trac I see an error - 

{{{
Warning: Can't synchronize with the repository GIT version 1.5.5.6 installed not compatible (need >= 1.5.6)
}}}

I'm check all downloaded sources and see only v0.11.0.2 version. How I can get an 0.11.0.1 version, that may be compatible with my git version ?



",lmar@…
6937,Problem while hosting tracgit plugin in trac,defect,0.11,Herbert Valerio Riedel,closed,2010-04-07T07:41:10+02:00,2010-04-26T23:19:23+02:00,"i have installed trac-0.11.7 , python-2.6,git-1.6.3.3 and gitplugin-0.11.

i have installed the trac on ubuntu by default it has svn version but i want use git so i have downloaded the gitplugin and modified the trac.ini file 

When i start the apache , i am facing the below problem 

 '''Trac detected an internal error:

GitError: GIT control files not found, maybe wrong directory?
'''



",a2zpavani@…
6938,Problem while hosting tracgit plugin in trac,defect,0.11,Herbert Valerio Riedel,closed,2010-04-07T07:43:25+02:00,2010-04-26T23:17:25+02:00,"i have installed trac-0.11.7 , python-2.6,git-1.6.3.3 and gitplugin-0.11.

i have installed the trac on ubuntu by default it has svn version but i want use git so i have downloaded the gitplugin and modified the trac.ini file 

When i start the apache , i am facing the below problem 

 Trac detected an internal error:

GitError: GIT control files not found, maybe wrong directory?




",a2zpavani@…
6939,Problem while hosting tracgit plugin in trac,defect,0.11,Herbert Valerio Riedel,closed,2010-04-07T07:46:35+02:00,2010-04-26T23:17:32+02:00,"i have installed trac-0.11.7 , python-2.6,git-1.6.3.3 and gitplugin-0.11.

i have installed the trac on ubuntu by default it has svn version but i want use git so i have downloaded the gitplugin and modified the trac.ini file 

When i start the apache , i am facing the below problem 

Trac detected an internal error

GitError: GIT control files not found, maybe wrong directory?

Attaching the configuration file 

",a2zpavani@…
7075,Short SHA1 checksum as commit reference,enhancement,0.11,Herbert Valerio Riedel,closed,2010-05-04T14:38:15+02:00,2010-10-17T15:21:01+02:00,"It would be nice if it were possible to reference a commit (in TracLinks) with shortened sha1 checksum.

For example, instead of `[5c0084f75ba670a680d960682557f531c6e2e8a4]` allow `changeset:5c0084` or even `[5c0084]`.

Git allows shortening SHA1 checksum up to 5 syms, provided it's still unambigous.
",twee@…
7268,gitplugin for 0.12 doesn't work/install,defect,0.12,Herbert Valerio Riedel,closed,2010-06-20T14:08:35+02:00,2010-10-06T06:53:10+02:00,"i got two syntax error when it install using by easy_install. please see log below


[root@localhost conf]# easy_install http://trac-hacks.org/svn/gitplugin/0.12

Downloading http://trac-hacks.org/svn/gitplugin/0.12
Doing subversion checkout from http://trac-hacks.org/svn/gitplugin/0.12 to /tmp/easy_install-OiOehN/0.12
Processing 0.12
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-OiOehN/0.12/egg-dist-tmp-zSsp-c
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 89
    with self.__lock:
            ^
SyntaxError: invalid syntax
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 391
    yield (self.path, rev, Changeset.EDIT if not is_last else Changeset.ADD)
                                           ^
SyntaxError: invalid syntax
warning: install_data: setup script did not provide a directory for 'COPYING' -- installing right in 'build/bdist.linux-i686/egg'
warning: install_data: setup script did not provide a directory for 'README' -- installing right in 'build/bdist.linux-i686/egg'
zip_safe flag not set; analyzing archive contents...
TracGit 0.12.0.2dev-r7757 is already the active version in easy-install.pth

Installed /usr/lib/python2.4/site-packages/TracGit-0.12.0.2dev_r7757-py2.4.egg
Processing dependencies for TracGit==0.12.0.2dev-r7757
Finished processing dependencies for TracGit==0.12.0.2dev-r7757
",anonymous
7273,TypeError: 'NoneType' object is unsubscriptable,defect,0.12,Herbert Valerio Riedel,closed,2010-06-21T19:50:05+02:00,2010-10-16T14:21:54+02:00,"i got some error. i use trac 0.12, python 2.6, mod_wsgi and i use multiple repo

here is log

2010-06-22 02:09:18,621 Trac[PyGIT] DEBUG: PyGIT.Storage instance 174753964 cons
tructed
2010-06-22 02:09:18,621 Trac[PyGIT] DEBUG: requested weak PyGIT.Storage instance
 174753964 for '/thatsmesoft/repos/3repo/sameplace/.git'
2010-06-22 02:09:18,622 Trac[chrome] ERROR: Error with navigation contributor Br
owserModule: TypeError: 'NoneType' object is unsubscriptable
2010-06-22 02:09:18,682 Trac[api] DEBUG: action controllers for ticket workflow:
 ['ConfigurableTicketWorkflow']
",anonymous
7294,Detect branches with a ticket number and link them and their check-ins to the ticket,defect,0.11,Herbert Valerio Riedel,closed,2010-06-24T21:17:02+02:00,2010-10-16T13:30:00+02:00,"If a branch is named 1234-fix-something or #1234-fix-something it would be nice if checkins to that branch were automatically shown on the ticket page for ticket #1234.

",dobesv@…
7429,"Supposed license issue prevent integration in ""official"" trac",defect,0.11,Herbert Valerio Riedel,closed,2010-07-28T20:03:51+02:00,2012-02-16T01:23:48+01:00,"http://trac.edgewall.org/wiki/SeaChange/WhatDevelopersWant §5 says:

''Note that some plugins will never be integrated or even bundled, due to licensing issues''
and gittrac is given as an example.

What is this license issue ?
Can it be solved ?",anonymous
7432,Why does trac-post-commit hook only work on master branch?,defect,0.12,Herbert Valerio Riedel,closed,2010-07-28T23:32:22+02:00,2011-01-21T16:14:34+01:00,"I confess that as a very new Trac user (using the git backend), I'm quite confused about what {{{trac-admin changeset added}}} does and why it is needed or important, but I did notice that until I got repository_sync_per_request set properly, attempting to browse the head of a recently-pushed branch produced a nasty error message instead of displaying the diff.  (The confusion is why it can't look up cache misses in raw git before displaying an error message; unlike svn, a git commit is immutable.)

Now, although repository_sync_per_request doesn't seem like a major performance bottleneck ATM, I was heeding the advice at GitPlugin and t:wiki:TracRepositoryAdmin and looking into using a post-receive hook to avoid a ~0.1s delay on each HTTP request, but I noticed that it filters out changesets not on the master branch.

The reason for this restriction is very unclear.  I'd think this would cause my original problem to reappear.  (I haven't explicitly tested it, but if I update only non-master branches, it won't do any explicit synchronization, and if I have auto-sync turned off, that puts me back to where I started.)  Does it date from before multiple branch support (#789) was added?

I can imagine removing it might cause a bad interaction with the t:wiki:CommitTicketUpdater.  I certainly don't mind ticket closing being limited to updates to a few named branches.  (I.e. ""fixes !#12345"" should close the bug when it's merged to master, rather than when it's pushed to the testing branch.)

That would seem to be a problem with all backends that support branches (including SVN), but git users tend to use branches far more aggressively, pushing a proposed fix to a branch in the repository for discussion rather than attaching a patch to a ticket.",trac@…
7665,post-receive hook is not working when default repository is speciefied,defect,0.12,Herbert Valerio Riedel,closed,2010-09-10T13:15:34+02:00,2015-05-31T20:34:53+02:00,"I'm using trac 0.12 with TracGit 0.12.0.2dev-r7757

I have several repositories. Here is the fragment of my trac.ini:

{{{
[repositories]
sample.dir = /var/git/sample.git/
sample.description = sample
sample.type = git 
test.dir = /var/git/test.git
test.description = test
test.type = git 
}}}

I also use post-receive hook as written on http://trac-hacks.org/wiki/GitPlugin#post-receivehookscripts to write comments in trac tickets if in git commit there is text like ""See #123."". The problem is that if I specify the default repsitory, the post-receive hook script works only for the default repository. And for other repos I got such error in trac.log:

{{{
2010-09-10 14:57:23,186 Trac[PyGIT] INFO: read_commit failed for 'None' ('e2ec42273325a51cb832d01544e9123f1d7a466a')
}}}

I'm enaibling default repo by adding this lines to the [repositories] block
{{{
.alias = sample
.hidden = false
}}}
",ivan@…
7844,Link Git committer/author to Trac users,enhancement,0.12,Herbert Valerio Riedel,closed,2010-10-16T00:06:49+02:00,2010-10-16T17:03:56+02:00,"GitPlugin currently returns the full name and email from the author/committer field, which is often much longer than the username setup within Trac. 

Suggest making a lookup of author/committer email address against the Trac user database, and using the Trac username instead if found. If not there, show the current style author/committer.",Sigurd Hogsbro
7930,resync problem for git,defect,0.12,Herbert Valerio Riedel,closed,2010-10-27T03:35:17+02:00,2013-04-03T20:17:04+02:00,"git version 1.5.6.5
trac-admin 0.12
trac-git commit http://github.com/hvr/trac-git-plugin/commit/672da40cca475e493861bb93ed25f9a2fd06b771

I try to do the following:
from the tracs project_env I run `trac-admin .`
then repository resync * 
This results in 
{{{
TypeError: 'NoneType' object is unsubscriptable
}}}

Relevant trac.ini  sections 

{{{
[git]
## let Trac cache meta-data via CachedRepository wrapper; default: false
cached_repository = false

## disable automatic garbage collection for in-memory commit-tree cache; default: false
persistent_cache = false

## length revision sha-sums should be tried to be abbreviated to (must be >= 4 and <= 40); default: 7
shortrev_len = 7

## (0.12.0.3+) minimum length for which hex-strings will be interpreted as commit ids in wiki context; default: 40
wiki_shortrev_len = 40

## executable file name (in case of doubt use absolute path!) of git binary; default: 'git'
git_bin = /usr/bin/git

## (0.12.0.5+) define charset encoding of paths stored within git repository; default: 'utf-8'
git_fs_encoding = utf-8

## (0.12.0.3+) enable reverse mapping of git email addresses to trac user ids; default: false
trac_user_rlookup = false

## (0.12.0.3+) use git-committer id instead of git-author id as changeset owner; default: true
use_committer_id = true

## (0.12.0.3+) use git-committer timestamp instead of git-author timestamp as changeset time; default: true
use_committer_time = true

[trac]
repository_dir = /var/git-repos/hearth.git
repository_type = git

[components]

tracext.git.* = enabled 
}}}",mountainpaul@…
8087,UnicodeDecodeError: 'utf8' codec can't decode bytes in position 5-7: invalid data,defect,0.12,Herbert Valerio Riedel,closed,2010-11-19T00:13:38+01:00,2015-05-31T20:34:53+02:00,"==== How to Reproduce ====

While doing a GET operation on `/wiki`, Trac issued an internal error.

Ive installed Trac 0.12 and the AccMgrPlugin, after that I installed the gitPlugin
changed the trac.ini and restard the server.

Request parameters:
{{{
{}
}}}

User agent: `Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12`

==== System Information ====
|| '''`Trac`''' || `0.12.1` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.3.1` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.6.5 (r265:79063, Apr 15 2010, 12:37:17) ` [[br]] `[GCC 3.4.6]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.6.23.1` ||
|| '''`Subversion`''' || `1.6.13 (r1002816)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`TracAccountManager`''' || `0.3dev-r9404` ||
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/web/main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/web/main.py"", line 202, in dispatch
    chosen_handler)
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/web/main.py"", line 344, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/versioncontrol/api.py"", line 332, in pre_process_request
    repo.sync()
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/versioncontrol/cache.py"", line 240, in sync
    @self.env.with_transaction()
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/db/api.py"", line 77, in transaction_wrapper
    fn(ldb)
  File ""build/bdist.freebsd-7.3-STABLE-i386/egg/trac/versioncontrol/cache.py"", line 269, in do_transaction
    for path, kind, action, bpath, brev in cset.get_changes():
  File ""build/bdist.solaris-2.9-sun4u/egg/tracext/git/git_fs.py"", line 655, in get_changes
    self.repos.git.diff_tree(parent, self.rev, find_renames=True):
  File ""build/bdist.solaris-2.9-sun4u/egg/tracext/git/PyGIT.py"", line 802, in diff_tree
    yield __chg_tuple()
  File ""build/bdist.solaris-2.9-sun4u/egg/tracext/git/PyGIT.py"", line 785, in __chg_tuple
    chg[5] = self._fs_to_unicode(chg[5])
  File ""build/bdist.solaris-2.9-sun4u/egg/tracext/git/PyGIT.py"", line 234, in <lambda>
    self._fs_to_unicode = lambda s: s.decode(git_fs_encoding)
  File ""/usr/local/lib/python2.6/encodings/utf_8.py"", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 5-7: invalid data
}}}",admin
8340,UnicodeDecodeError: 'utf8' codec can't decode bytes in position 28-30: invalid data,defect,0.12,Herbert Valerio Riedel,closed,2010-12-27T13:56:39+01:00,2010-12-27T22:33:39+01:00,"==== How to Reproduce ====

While doing a GET operation on `/wiki`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{}
}}}

User agent: `Mozilla/5.0 (Windows; U; Windows NT 6.1; fi; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13`

==== System Information ====
|| '''`Trac`''' || `0.12.1` ||
|| '''`Agilo`''' || `0.9.2` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.5.6.5` ||
|| '''`mod_python`''' || `3.3.1` ||
|| '''`psycopg2`''' || `2.0.7` ||
|| '''`Pygments`''' || `1.1.1` ||
|| '''`Python`''' || `2.5.2 (r252:60911, Jan 24 2010, 18:02:01) ` [[br]] `[GCC 4.3.2]` ||
|| '''`pytz`''' || `2008c` ||
|| '''`setuptools`''' || `0.6c8` ||
|| '''`Subversion`''' || `1.6.12 (r955767)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`agilo`''' || `0.9.2` ||
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 202, in dispatch
    chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/web/main.py"", line 344, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/api.py"", line 332, in pre_process_request
    repo.sync()
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/cache.py"", line 240, in sync
    @self.env.with_transaction()
  File ""build/bdist.linux-x86_64/egg/trac/db/api.py"", line 77, in transaction_wrapper
    fn(ldb)
  File ""build/bdist.linux-x86_64/egg/trac/versioncontrol/cache.py"", line 269, in do_transaction
    for path, kind, action, bpath, brev in cset.get_changes():
  File ""build/bdist.linux-x86_64/egg/tracext/git/git_fs.py"", line 655, in get_changes
    self.repos.git.diff_tree(parent, self.rev, find_renames=True):
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 793, in diff_tree
    yield __chg_tuple()
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 785, in __chg_tuple
    chg[5] = self._fs_to_unicode(chg[5])
  File ""build/bdist.linux-x86_64/egg/tracext/git/PyGIT.py"", line 234, in <lambda>
    self._fs_to_unicode = lambda s: s.decode(git_fs_encoding)
  File ""/usr/lib/python2.5/encodings/utf_8.py"", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 28-30: invalid data
}}}",eusaman@…
8354,Invalid changeset link in ticket comments is produced by the post-receive-hook for multiple git repositories,defect,0.12,Herbert Valerio Riedel,closed,2011-01-03T07:32:10+01:00,2015-05-31T20:34:53+02:00,"I have set up multiple bare git repositories in one trac environment, each with http://trac-hacks.org/attachment/wiki/GitPlugin/trac-post-receive-hook.3.py enabled as hook.

The generated wikilinks to changesets are not working. They are looking like: [[br]]
`commit <a class=""missing changeset"" rel=""nofollow"" title=""Repository '' not found"">051611</a>`

I don't know wether there's something broken or handling of that case is still missing.

As work around I treat each git repo with [[br]]
`git config --add trac.name <Repo_Name>` [[br]]
where Repo_Name is the same name given to the repo through trac-admin

The attached patch to trac-post-receive-hook.3.py is using that trac.name to generate working wikilinks.",Roland Hautz
8522,"Browse Source defaults to HEAD, I'd like to be able to specify a branch instead",defect,0.11,Herbert Valerio Riedel,closed,2011-02-20T20:10:40+01:00,2015-05-31T20:34:53+02:00,For consistency sake I'd like browse source to take me to the same place by default each time. I find it very confusing that it seems like every time I browse I'm on a different branch based on that last push.,trac@…
8601,Support for submodules,defect,0.12,Herbert Valerio Riedel,closed,2011-03-12T15:52:00+01:00,2011-06-09T17:49:42+02:00,"I added a submodule to a git repository. When I use the ""browse source"" button, I do see the directory, but I don't see the content. It would be nice to see the content, it would be even nicer to see the git history of the submodule.",anonymous
8639,PyGIT._get_branches fails with ValueError on commit messages with line feeds,defect,0.12,Herbert Valerio Riedel,closed,2011-03-27T17:55:12+02:00,2015-05-31T20:34:53+02:00,"I have a commit here that includes a subject line that includes !^M characters.
This will cause get_branches to fail when trying to unpack the malformed lines resulting from splitting on linefeed boundary.

Here is a proposed fast solution that will replace all !^M characters so that retrieving the branch information does not fail

{{{
    def _get_branches(self):
        ""returns list of (local) branches, with active (= HEAD) one being the first item""

        result = []
        for e in self.repo.branch(""-v"", ""--no-abbrev"").replace('\r', '/CTRL-R').splitlines():
            bname, bsha = e[1:].strip().split()[:2]
            if e.startswith('*'):
                result.insert(0, (bname, bsha))
            else:
                result.append((bname, bsha))

        return result
}}}
",Carsten Klein
8658,missing links in messages,defect,0.12,Herbert Valerio Riedel,closed,2011-04-01T17:23:36+02:00,2015-05-31T20:34:53+02:00,"some links to revision, don't work 

see [2b1a2c6] 
don't works but /changeset/2b1a2c6 exists

",xilent
8766,commit list under ticket information,enhancement,0.12,Herbert Valerio Riedel,closed,2011-05-05T11:42:42+02:00,2011-05-05T14:42:03+02:00,"I'm sorry if this is already possible, but I don't seem to find information on how to do this.

For svn when you create a commit with the hash tag of a given ticket, the commit will be listed under the ""ticket information"". This is in my opinion hugely useful, and I don't seem to find a way to do this with the git plugin. Am I missing some configuration here perhaps? I am using trac 0.12 and the plugin version from the github master branch.

I know a bit of python by now, so perhaps I get annoyed enough that I try to fix it myself.. If you could provide me some links to where I can read up on how to implement it that would be useful as well.",Yngve
8880,Support for submodules in source browsing,defect,0.11,Herbert Valerio Riedel,closed,2011-06-09T18:24:46+02:00,2015-05-31T20:34:53+02:00,"Is anyone working on submodule support in the source browser ?

From the `git_fs.py` file:
{{{
pass # FIXME: this is a workaround for missing git submodule support in the plugin
}}}

Particularly for TRAC 0.12 which supports multiple repositories
it should be possible to switch context to display submodule files.
",Martin L Resnick
9552,TypeError: 'NoneType' object is not subscriptable,defect,0.12,Herbert Valerio Riedel,closed,2011-11-20T02:27:33+01:00,2015-05-31T20:34:53+02:00,"How to Reproduce
While doing a GET operation on `/timeline`, Trac issued an internal error.
please provide additional details here
Request parameters:

User agent: `Mozilla/5.0  X11; Linux x86_64; rv:8.0  Gecko/20100101 Firefox/8.0`
System Information 
||    `Trac`    || `0.12.2` ||
||    `Babel`    || `0.9.6  translations unavailable ` ||
||    `Docutils`    || `0.8.1` ||
||    `Genshi`    || `0.6` ||
||    `GIT`    || `1.7.7.1` ||
||    `Pygments`    || `1.4` ||
||    `pysqlite`    || `2.6.0` ||
||    `Python`    || `2.7.2  default, Aug 16 2011, 07:03:08  `   br   ` GCC 4.6.1 ` ||
||    `pytz`    || `2011h` ||
||    `setuptools`    || `0.6` ||
||    `SQLite`    || `3.7.7` ||
||    `Subversion`    || `1.6.17  r1128011 ` ||
||    `jQuery`    || `1.4.2` ||

Enabled Plugins
||    `tracext.git.git-fs`    || `N/A` ||
||    `TracMasterTickets`    || `3.0.2` ||

Python Traceback   
{{{
Traceback  most recent call last : 
File  /usr/lib/python2.7/dist-packages/trac/web/main.py , line 511, in _dispatch_request  dispatcher.dispatch req
File  /usr/lib/python2.7/dist-packages/trac/web/main.py , line 237, in dispatch  resp   chosen_handler.process_request req
File  /usr/lib/python2.7/dist-packages/trac/timeline/web_ui.py , line 142, in process_request  available_filters   event_provider.get_timeline_filters req  or
File  /usr/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/changeset.py , line 861, in get_timeline_filters  repositories   rm.get_real_repositories
File  /usr/lib/python2.7/dist-packages/trac/versioncontrol/api.py , line 588, in get_real_repositories  repos   self.get_repository repoNAME
File  /usr/lib/python2.7/dist-packages/trac/versioncontrol/api.py , line 526, in get_repository  repos   connector.get_repository rtype, rdir, repoinfo.copy
File  /usr/lib/python2.7/dist-packages/tracext/git/git_fs.py , line 162, in get_repository 
File  /usr/lib/python2.7/dist-packages/tracext/git/git_fs.py , line 180, in __init__
File  /usr/lib/python2.7/dist-packages/trac/versioncontrol/api.py , line 732, in __init__  self.repoNAME   params  NAME   TypeError:  NoneType  object is not subscriptable
}}}",zbuhman@…
9581,'Popen' object has no attribute 'terminate',defect,0.11,Herbert Valerio Riedel,closed,2011-12-05T17:42:55+01:00,2015-05-31T20:34:53+02:00,"Here is the traceback after the install of Dev version and patch on Ticket #9560 :

{{{

File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 511, in _dispatch_request
  dispatcher.dispatch(req)
File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 237, in dispatch
  resp = chosen_handler.process_request(req)
File ""build/bdist.linux-i686/egg/trac/versioncontrol/web_ui/browser.py"", line 390, in process_request
  dir_data = self._render_dir(req, repos, node, rev, order, desc)
File ""build/bdist.linux-i686/egg/trac/versioncontrol/web_ui/browser.py"", line 549, in _render_dir
  entries = [entry(n) for n in node.get_entries()
File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 546, in get_entries
  yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
File ""/usr/lib/python2.5/contextlib.py"", line 22, in __exit__
  self.gen.next()
File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 760, in get_historian
  p[0].terminate()
}}}

",marc.cuculiere@…
9641,Source browser fails with SMB hosted git repository,defect,0.11,Herbert Valerio Riedel,closed,2011-12-28T03:59:31+01:00,2015-05-31T20:34:53+02:00,"I have configured my Trac, TracGit on a Windows XP + Apache machine, and a git repository that lives on a Windows hosted SMB share.

I can use trac-admin $ENV repository add/remove/list/resync with no problems and the resync appears to work correctly.

However when I got to the web interface, the browse source tab is not available. When I manually enter http://my_env_url/browser I receive:


{{{
GitError: GIT control files not found, maybe wrong directory?
}}}



Similarly, in the trac.log file (with DEBUG loggin) I see:


{{{
2011-12-28 10:50:31,065 Trac[git_fs] INFO: detected GIT version 1.7.7.1.msysgit.0
2011-12-28 10:50:31,065 Trac[PyGIT] ERROR: GIT control files missing in '\\smbserver\share\repo.git'
2011-12-28 10:50:31,065 Trac[main] ERROR: Internal Server Error: 
Traceback (most recent call last):
  File ""C:\Python27\lib\site-packages\trac\web\main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""C:\Python27\lib\site-packages\trac\web\main.py"", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File ""C:\Python27\lib\site-packages\trac\versioncontrol\web_ui\browser.py"", line 341, in process_request
    reponame, repos, path = rm.get_repository_by_path(path)
  File ""C:\Python27\lib\site-packages\trac\versioncontrol\api.py"", line 552, in get_repository_by_path
    return (reponame, self.get_repository(reponame),
  File ""C:\Python27\lib\site-packages\trac\versioncontrol\api.py"", line 526, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 244, in get_repository
    use_committer_time=self._use_committer_time,
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 360, in __init__
    git_fs_encoding=git_fs_encoding).getInstance()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 139, in __init__
    i = Storage(repo, log, git_bin, git_fs_encoding)
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 252, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
2011-12-28 10:50:31,111 Trac[chrome] DEBUG: Prepare chrome data for request
2011-12-28 10:50:31,127 Trac[PyGIT] ERROR: GIT control files missing in '\\smbserver\share\repo.git'
2011-12-28 10:50:31,127 Trac[chrome] ERROR: Error with navigation contributor BrowserModule: GitError: GIT control files not found, maybe wrong directory?
}}}

If I take a copy of the git repository to a local dir I end up with some Windows permission problems that I also have yet to resolve (fairly sure this is just getting the right system account with the right permissions on the local folder)

Any suggestions would be great?!

",jan.hurst@…
9657,GitPlugin crashed under Win7 while using cygwin,defect,0.11,Herbert Valerio Riedel,closed,2012-01-03T16:36:06+01:00,2015-05-31T20:34:53+02:00,"{{{GitCores}}} {{{__pipe}}} function did not recognise, that I was working on windows.

To solve the problem, I locally changed the platform selection from
{{{
if sys.platform == ""win32"":
}}}
to
{{{
if sys.platform == ""win32"" or sys.platform == ""cygwin"":
}}}

This works while running cygwin on a 64bit Windows 7.",anonymous
9778,OSError: [Errno 10] No child processes,defect,0.12,Herbert Valerio Riedel,closed,2012-02-08T21:38:31+01:00,2015-05-31T20:34:53+02:00,"==== How to Reproduce ====

While doing a GET operation on `/browser/BALTIC`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'path': u'/BALTIC'}
}}}

User agent: `Mozilla/4#0 #compatible; MSIE 7#0; Windows NT 6#1; Trident/5#0; SLCC2; #NET CLR 2#0#50727; #NET CLR 3#5#30729; #NET CLR 3#0#30729; Media Center PC 6#0; #NET4#0C; #NET4#0E#`

==== System Information ====
|| '''`Trac`''' || `0.12.2` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.9` ||
|| '''`mod_python`''' || `3.3.1` ||
|| '''`MySQL`''' || `server: ""5.0.51b-log"", client: ""5.0.51b"", thread-safe: 0` ||
|| '''`MySQLdb`''' || `1.2.2` ||
|| '''`Python`''' || `2.5.2 (r252:60911, Mar  1 2008, 13:52:45) ` [[br]] `[GCC 4.2.3]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`Subversion`''' || `1.4.6 (r28521)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`graphviz`''' || `0.7.6dev-r10975` ||
|| '''`timingandestimationplugin`''' || `1.2.4` ||
|| '''`TracAccountManager`''' || `0.2.1dev` ||
|| '''`TracGit`''' || `0.12.0.5dev` ||
|| '''`TracHoursPlugin`''' || `0.5.2` ||
|| '''`TracScreenshots`''' || `0.5` ||
|| '''`TracWysiwyg`''' || `0.12.0.4` ||
|| '''`worklog`''' || `0.1` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build/bdist.linux-i686/egg/trac/web/main.py"", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File ""build/bdist.linux-i686/egg/trac/versioncontrol/web_ui/browser.py"", line 370, in process_request
    rev_or_latest = rev or repos.youngest_rev
  File ""build/bdist.linux-i686/egg/trac/versioncontrol/api.py"", line 849, in <lambda>
    youngest_rev = property(lambda x: x.get_youngest_rev())
  File ""build/bdist.linux-i686/egg/tracext/git/git_fs.py"", line 369, in get_youngest_rev
    return self.git.youngest_rev()
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 435, in youngest_rev
    return self.rev_cache.youngest_rev
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 323, in get_rev_cache
    new_tags = set(__rev_reuse(rev.strip()) for rev in self.repo.rev_parse(""--tags"").splitlines())
  File ""build/bdist.linux-i686/egg/tracext/git/PyGIT.py"", line 66, in __execute
    stdout_data, stderr_data = p.communicate()
  File ""/usr/lib/python2.5/subprocess.py"", line 668, in communicate
    return self._communicate(input)
  File ""/usr/lib/python2.5/subprocess.py"", line 1192, in _communicate
    self.wait()
  File ""/usr/lib/python2.5/subprocess.py"", line 1122, in wait
    pid, sts = os.waitpid(self.pid, 0)
OSError: [Errno 10] No child processes
}}}",Dalius
9807,GitHub links on project page are broken,defect,0.11,Herbert Valerio Riedel,closed,2012-02-16T01:21:18+01:00,2012-02-16T10:33:59+01:00,"For example, GitPlugin#SourceCode.

If you can point me to where this is hosted on GitHub, I'll gladly fix the project page.",Ryan J Ollos
9879,GitNode *must* throw NoSuchNode on invalid revisions for Bitten to work,defect,0.12,Herbert Valerio Riedel,closed,2012-03-02T18:26:24+01:00,2015-05-31T20:34:53+02:00,"When git revisions are lost in a repository (due to rebases or whatever), and the [http://bitten.edgewall.org Bitten plugin] already had build such a revisions, then it will later die with a {{{NoSuchChangeset}}} excption while showing the Timeline. 

A very similar probmlem existed for Bitten ([http://bitten.edgewall.org/ticket/606 see Bitten ticket 606]) with SVN repositories and was [http://bitten.edgewall.org/changeset/962 fixed already].  However that fix does not generalize to Git repositories, as [https://github.com/hvr/trac-git-plugin/blob/master/tracext/git/git_fs.py  GitNode.__init_ ] (called from {{{GitRepository.get_node}}}) does not throw {{{NoSuchNode}}} on invalid revisions if path is '/' (it ''does'' throw for all paths != '/').

So Bitten calls {{{repo.get_node}}} with an invalid revision, which succeeds (this part is try/catch protected).  And later dies when calling {{{repo.normalize_rev}}} (this part is not protected).

What would be the correct fix?  Is it sufficient to pull the ls_tree_info assignment and result check out of the {{{if p:}}} block in the {{{GitNode}}} constructor?


",David Kuehling
9920,Add remote git repository to Trac,enhancement,0.12,Herbert Valerio Riedel,closed,2012-03-22T17:46:58+01:00,2012-04-12T17:42:10+02:00,"Hey,
exists there any plugin which is able to add git repository to Trac? ",anonymous
9960,UnicodeDecodeError: 'utf8' codec can't decode byte 0xfc in position 20: invalid start byte,defect,0.11,Herbert Valerio Riedel,closed,2012-04-13T00:27:03+02:00,2013-05-09T12:46:32+02:00,"==== How to Reproduce ====

While doing a GET operation on `/changeset`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'new': u'79cf28fad96b103e92d1412281a965f6ef3a6ecb',
 'new_path': u'/DreamMealDeal_git/application/controllers/default.class.php',
 'old': u'79cf28fad96b103e92d1412281a965f6ef3a6ecb',
 'old_path': u'/DreamMealDeal_git/application/controllers/default.class.php'}
}}}

User agent: `Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0`

==== System Information ====
|| '''`Trac`''' || `0.12.3` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.9.2` ||
|| '''`Mercurial`''' || `2.1` ||
|| '''`psycopg2`''' || `2.4.4` ||
|| '''`Pygments`''' || `1.5` ||
|| '''`Python`''' || `2.7.2 (default, Jan 31 2012, 13:19:49) ` [[br]] `[GCC 4.6.2 20120120 (prerelease)]` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`jQuery`''' || `1.4.4` ||

==== Enabled Plugins ====
|| '''`TracGit`''' || `0.12.0.5dev` ||
|| '''`TracMercurial`''' || `0.12.0.28` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.7/site-packages/trac/web/main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.7/site-packages/trac/web/main.py"", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.7/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 352, in process_request
    self._render_html(req, repos, chgset, restricted, xhr, data)
  File ""/usr/lib/python2.7/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 581, in _render_html
    for old_node, new_node, kind, change in get_changes():
  File ""/usr/lib/python2.7/site-packages/trac/versioncontrol/web_ui/changeset.py"", line 395, in get_changes
    for npath, kind, change, opath, orev in chgset.get_changes():
  File ""/usr/lib/python2.7/site-packages/tracext/git/git_fs.py"", line 655, in get_changes
    self.repos.git.diff_tree(parent, self.rev, find_renames=True):
  File ""/usr/lib/python2.7/site-packages/tracext/git/PyGIT.py"", line 862, in diff_tree
    yield __chg_tuple()
  File ""/usr/lib/python2.7/site-packages/tracext/git/PyGIT.py"", line 854, in __chg_tuple
    chg[5] = self._fs_to_unicode(chg[5])
  File ""/usr/lib/python2.7/site-packages/tracext/git/PyGIT.py"", line 237, in <lambda>
    self._fs_to_unicode = lambda s: s.decode(git_fs_encoding)
  File ""/usr/lib/python2.7/encodings/utf_8.py"", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xfc in position 20: invalid start byte
}}}",alegz@…
10098,GitPlugin TypeError: 'NoneType' object is unsubscriptable,defect,0.11,Herbert Valerio Riedel,closed,2012-06-15T15:41:35+02:00,2012-06-15T15:53:42+02:00,"Current setup is Trac 0.11 running on Bitnami trac stack on Windows 64bit. I have git installed and setup to point to c:/Git/bin/git.exe (avoiding the path "" "" issue). However when leaving enabled I'm getting this error and the warning 'Warning: Error with navigation contributor ""BrowserModule""' and ""GitPlugin TypeError: 'NoneType' object is unsubscriptable"".

Anyone know why? I haven't done anything weird I don't think that would cause this to happen.

==== How to Reproduce ====

While doing a GET operation on `/report/8`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'id': u'8'}
}}}

User agent: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5`

==== System Information ====
|| '''`Trac`''' || `0.12.3` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.10.msysgit.1` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup  WSGIApplicationGroup %{GLOBAL})` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.6.2` ||
|| '''`Subversion`''' || `1.6.15 (r1038135)` ||
|| '''`jQuery`''' || `1.4.4` ||

==== Enabled Plugins ====
|| '''`tracaccountmanager`''' || `0.3.2` ||
|| '''`tracgit`''' || `0.11.0.2` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build\bdist.win32\egg\trac\web\main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build\bdist.win32\egg\trac\web\main.py"", line 208, in dispatch
    chosen_handler)
  File ""build\bdist.win32\egg\trac\web\main.py"", line 350, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""build\bdist.win32\egg\trac\versioncontrol\api.py"", line 330, in pre_process_request
    repo = self.get_repository(reponame)
  File ""build\bdist.win32\egg\trac\versioncontrol\api.py"", line 538, in get_repository
    repos = connector.get_repository(rtype, rdir, repoinfo.copy())
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 162, in get_repository
    shortrev_len=self._shortrev_len)
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 180, in __init__
    Repository.__init__(self, ""git:""+path, None, log)
  File ""build\bdist.win32\egg\trac\versioncontrol\api.py"", line 744, in __init__
    self.reponame = params['name']
TypeError: 'NoneType' object is unsubscriptable
}}}",james
10099,"WindowsError: (5, 'Access is denied')",defect,0.11,Herbert Valerio Riedel,closed,2012-06-15T16:09:42+02:00,2012-06-15T19:16:49+02:00,"Similar to: http://trac-hacks.org/ticket/9646

Anyone know what is causing this or how to stop it?

==== How to Reproduce ====

While doing a GET operation on `/browser`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'path': '/'}
}}}

User agent: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5`

==== System Information ====
|| '''`Trac`''' || `0.12.3` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.10.msysgit.1` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup  WSGIApplicationGroup %{GLOBAL})` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 32 bit (Intel)]` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.6.2` ||
|| '''`Subversion`''' || `1.6.15 (r1038135)` ||
|| '''`jQuery`''' || `1.4.4` ||

==== Enabled Plugins ====
|| '''`tracaccountmanager`''' || `0.3.2` ||
|| '''`tracgit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""build\bdist.win32\egg\trac\web\main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""build\bdist.win32\egg\trac\web\main.py"", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File ""build\bdist.win32\egg\trac\versioncontrol\web_ui\browser.py"", line 390, in process_request
    dir_data = self._render_dir(req, repos, node, rev, order, desc)
  File ""build\bdist.win32\egg\trac\versioncontrol\web_ui\browser.py"", line 552, in _render_dir
    entries = [entry(n) for n in node.get_entries()
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""C:\Program Files\Trac\python\lib\contextlib.py"", line 23, in __exit__
    self.gen.next()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 760, in get_historian
    p[0].terminate()
  File ""C:\Program Files\Trac\python\lib\subprocess.py"", line 911, in terminate
    TerminateProcess(self._handle, 1)
WindowsError: [Error 5] Access is denied
}}}",james
10151,GitPlugin on Trac 0.12 with Python 2.4,defect,0.12,Herbert Valerio Riedel,closed,2012-07-12T22:24:25+02:00,2015-05-31T20:34:53+02:00,"In the table with [wiki:GitPlugin#Requirements requirements] i see there is need for Python 2.5. I am not server admin, but i want to ask, if there is some way, how to get it running on Python 2.4, before even trying to think about updating python to 2.5.

Branch trac-0.11-py24 was only one, that nearly worked in the way, there was plugin in the list and i was able to configure git repository. However it had issues from ticket #8473, so it's probably not a good way.",fredy.c@…
10460,some problem with TRAC 0.12 and GIT 1.7.10.2 (Apple Git-33),defect,0.12,Herbert Valerio Riedel,closed,2012-10-10T08:17:57+02:00,2015-05-31T20:34:53+02:00,"When I want to set up TRAC with GIT on my Mac OS X 10.8 sever, I used TRAC 0.12, GIT 1.7.10.2 (Apple Git-33) and install the plugin using ""easy_install http://github.com/hvr/trac-git-plugin/tarball/master"";

But when I started the TRAC sever, there's an error on the website, which is:
{{{
Warning: Can't synchronize with repository ""(default)"" (GIT backend not available). Look in the Trac log for more information.
}}}

So I checked the log and find this error:
{{{
Trac[git_fs] ERROR: GitError: Could not retrieve GIT version (tried to execute/parse '/usr/bin/git --version' but got ValueError('too many values to unpack',))
}}}

Does anyone have some kind of solutions to this problem?

Thanks a lot for helping me.
",anonymous
10776,UnicodeDecodeError: 'utf8' codec can't decode byte 0xd6 in position 39: invalid continuation byte,defect,0.12,Herbert Valerio Riedel,closed,2013-01-09T12:46:29+01:00,2013-05-09T10:27:02+02:00,"==== How to Reproduce ====

While doing a GET operation on `/login`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{}
}}}

User agent: `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11`

==== System Information ====
|| '''`Trac`''' || `0.12.2` ||
|| '''`Babel`''' || `0.9.6 (translations unavailable)` ||
|| '''`Docutils`''' || `0.8.1` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.9.5` ||
|| '''`mod_python`''' || `3.3.1` ||
|| '''`Pygments`''' || `1.4` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.7.3 (default, Aug  1 2012, 05:25:23) ` [[br]] `[GCC 4.6.3]` ||
|| '''`pytz`''' || `2011k` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`SQLite`''' || `3.7.9` ||
|| '''`Subversion`''' || `1.6.17 (r1128011)` ||
|| '''`jQuery`''' || `1.4.2` ||

==== Enabled Plugins ====
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 202, in dispatch
    chosen_handler)
  File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 344, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/api.py"", line 332, in pre_process_request
    repo.sync()
  File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/cache.py"", line 242, in sync
    @self.env.with_transaction()
  File ""/usr/lib/python2.7/dist-packages/trac/db/api.py"", line 77, in transaction_wrapper
    fn(ldb)
  File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/cache.py"", line 271, in do_transaction
    for path, kind, action, bpath, brev in cset.get_changes():
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 655, in get_changes
    self.repos.git.diff_tree(parent, self.rev, find_renames=True):
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 862, in diff_tree
    yield __chg_tuple()
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 854, in __chg_tuple
    chg[5] = self._fs_to_unicode(chg[5])
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 237, in <lambda>
    self._fs_to_unicode = lambda s: s.decode(git_fs_encoding)
  File ""/usr/lib/python2.7/encodings/utf_8.py"", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd6 in position 39: invalid continuation byte
}}}",hslee@…
11056,TypeError: execv() arg 2 must contain only strings,defect,0.12,Herbert Valerio Riedel,closed,2013-05-07T19:13:59+02:00,2015-05-31T20:34:53+02:00,"==== How to Reproduce ====

While doing a GET operation on `/browser/Evaluation/Fragebögen`, Trac issued an internal error.

When browsing my git sources, the system call to the git executable fails in `subprocess.py`, due to the Umlaut in the file name, which is passed as a parameter.

This error first appeared when updating from Debian squeeze to Debian wheezy, which updated trac to version 0.12.3-1 and trac-git to version 0.12.0.5+722342e-1.

I was able to avoid the exception by modifying PyGIT.py line 729 (`def get_historian(self, sha, base_path):`):

original:
{{{
                                        sha, '--', base_path)]
}}}
modification:
{{{
                                        sha, '--', base_path.encode('utf-8'))]
}}}
Request parameters:
{{{
{'path': u'/Evaluation/Frageb\xf6gen'}
}}}

User agent: `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0`

==== System Information ====
|| '''`Trac`''' || `0.12.3` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Docutils`''' || `0.8.1` ||
|| '''`Genshi`''' || `0.6` ||
|| '''`GIT`''' || `1.7.10.4` ||
|| '''`mod_python`''' || `3.3.1` ||
|| '''`Pygments`''' || `1.5` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.7.3 (default, Jan  2 2013, 17:14:22) ` [[br]] `[GCC 4.7.2]` ||
|| '''`pytz`''' || `2012c` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`SQLite`''' || `3.7.13` ||
|| '''`Subversion`''' || `1.6.17 (r1128011)` ||
|| '''`jQuery`''' || `1.7.2` ||

==== Enabled Plugins ====
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/lib/python2.7/dist-packages/trac/web/main.py"", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/browser.py"", line 390, in process_request
    dir_data = self._render_dir(req, repos, node, rev, order, desc)
  File ""/usr/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/browser.py"", line 552, in _render_dir
    entries = [entry(n) for n in node.get_entries()
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 496, in __init__
    rev = repos.git.last_change(rev, p, historian)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 767, in last_change
    return historian(path)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 757, in historian
    return gen.next()
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 728, in name_status_gen
    sha, '--', base_path)]
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 75, in log_pipe
    return self.__pipe('log', *cmd_args, stdout=PIPE)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 57, in __pipe
    close_fds=True, **kw)
  File ""/usr/lib/python2.7/subprocess.py"", line 679, in __init__
    errread, errwrite)
  File ""/usr/lib/python2.7/subprocess.py"", line 1259, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings
}}}


",cips
11701,"WindowsError: (5, 'Access is denied')",defect,0.12,Herbert Valerio Riedel,closed,2014-04-27T13:55:46+02:00,2014-04-28T03:42:25+02:00,"==== How to Reproduce ====

While doing a GET operation on `/browser`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'path': '/'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0`

==== System Information ====
|| '''`Trac`''' || `0.12.4.ja1` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`CustomFieldAdmin`''' || `0.2.8` ||
|| '''`Docutils`''' || `0.7` ||
|| '''`Genshi`''' || `0.6 (without speedups)` ||
|| '''`GIT`''' || `1.9.0.msysgit.0` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup  WSGIApplicationGroup %{GLOBAL})` ||
|| '''`Pygments`''' || `1.3.1` ||
|| '''`pysqlite`''' || `2.4.1` ||
|| '''`Python`''' || `2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]` ||
|| '''`RPC`''' || `1.1.2-r9970` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.5.9` ||
|| '''`Subversion`''' || `1.6.17 (r1128011)` ||
|| '''`jQuery`''' || `1.4.4` ||

==== Enabled Plugins ====
|| '''`advancedticketworkflowplugin`''' || `0.11dev-r9962` ||
|| '''`batchmodify`''' || `0.8.0a1-trac0.12` ||
|| '''`blockdiagplugin`''' || `0.5.1` ||
|| '''`exceldownloadplugin`''' || `0.12.0.1` ||
|| '''`footnotemacro`''' || `1.03` ||
|| '''`hudsontracplus`''' || `0.4` ||
|| '''`iniadmin`''' || `0.2` ||
|| '''`lightningtheme`''' || `1.0` ||
|| '''`newwikipagebutton`''' || `1.01` ||
|| '''`privatewikis`''' || `1.0.0` ||
|| '''`reportincludeplugin`''' || `0.5-snapshot` ||
|| '''`svnauthzadminplugin`''' || `0.1.2.-moved.to.trac.0.11-` ||
|| '''`ticket-clone`''' || `Rev` ||
|| '''`ticketimport`''' || `0.8` ||
|| '''`trac-jsgantt`''' || `0.2.0-ja` ||
|| '''`tracaccountmanager`''' || `0.3` ||
|| '''`tracaddcommentmacro`''' || `0.3` ||
|| '''`tracautowikify`''' || `0.1` ||
|| '''`tracavatarplugin`''' || `0.3` ||
|| '''`traccompleteuserplugin`''' || `0.4` ||
|| '''`traccustomfieldadmin`''' || `0.2.8` ||
|| '''`tracdatefield`''' || `1.0.1` ||
|| '''`tracdiscussion`''' || `0.8-r9877` ||
|| '''`tracdragdrop`''' || `0.12.0.10` ||
|| '''`tracflashembedmacro`''' || `0.95rc1` ||
|| '''`tracganttcalendarplugin`''' || `0.5-r801` ||
|| '''`tracgit`''' || `0.12.0.5dev` ||
|| '''`tracmacostheme`''' || `1.0.3` ||
|| '''`tracmacropost`''' || `0.2` ||
|| '''`tracnav`''' || `4.2.dev` ||
|| '''`tracquerychart`''' || `0.2.3` ||
|| '''`tracsectioneditplugin`''' || `0.1` ||
|| '''`tracsubticketsplugin`''' || `0.1.1.dev-20130429` ||
|| '''`tracthemeengine`''' || `2.0.1` ||
|| '''`tractocmacro`''' || `11.0.0.3` ||
|| '''`tracusermanagerplugin`''' || `0.4r5520` ||
|| '''`tracwysiwyg`''' || `0.12.0.4-r9676` ||
|| '''`tracxdocview`''' || `0.1` ||
|| '''`tracxmlrpc`''' || `1.1.2-r9970` ||
|| '''`workfloweditorplugin`''' || `1.1.5` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py"", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\versioncontrol\web_ui\browser.py"", line 391, in process_request
    dir_data = self._render_dir(req, repos, node, rev, order, desc)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\versioncontrol\web_ui\browser.py"", line 553, in _render_dir
    entries = [entry(n) for n in node.get_entries()
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""C:\TracLight\python\Lib\contextlib.py"", line 34, in __exit__
    self.gen.throw(type, value, traceback)
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 756, in get_historian
    yield historian
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 496, in __init__
    rev = repos.git.last_change(rev, p, historian)
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 765, in last_change
    return historian(path)
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 755, in historian
    return gen.next()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 744, in name_status_gen
    p[0].terminate()
  File ""C:\TracLight\python\Lib\subprocess.py"", line 949, in terminate
    _subprocess.TerminateProcess(self._handle, 1)
WindowsError: [Error 5] Access is denied
}}}",admin
7246,[git] git_bin doesn't strip # comments and spaces correctly.,defect,0.12,Herbert Valerio Riedel,closed,2010-06-15T02:39:43+02:00,2010-10-16T14:55:47+02:00,"Trac 0.12, git 1.7.0.2.msysgit.0, tracgit 0.12.0.2dev.

If you have comments and spaces after the filename in git_bin, GitPlugin will report
{{{
Warning: Can't synchronize with repository ""(default)"" (GIT backend not available). Look in the Trac log for more information.
}}}
due to
{{{
Trac[git_fs] ERROR: GitError: Could not retrieve GIT version
}}}

For example, this will fail :

{{{
git_bin = path\to\git.exe # Abandon all hope.
}}}

Whereas this will succeed

{{{
git_bin = path\to\git.exe
# Sunshine & kittens!
}}}

This caused me hours of grief. Hope I help others.",anonymous
4287,Disable WikiFormatting on commit messages,enhancement,0.11,Herbert Valerio Riedel,closed,2008-12-16T10:41:05+01:00,2011-07-06T06:39:02+02:00,"This is by no means important, just a suggestion. If the commit (log) message contains a word in CamelCase aka a WikiPageName, WikiFormatting kicks in and thinks it's a hyperlink (usually to a new page).

You could either disable the wiki engine for those strings, or parse them and prefix a ! on matches yourself. I searched the list of tickets and saw no mention of this topic. At any rate, thanks for a great plugin. I dumped SVN like a bad habit and when I later discovered Trac supports Git via your plugin, I was off to the races.",Douglas Clifton
4318,Enhance Documentation,enhancement,0.12,Herbert Valerio Riedel,closed,2008-12-21T18:11:45+01:00,2015-05-31T20:34:53+02:00,"I'm having TONS of trouble setting this plugin up.  Could someone pleeease make some more documentation?  I'm enthusiastic about what you're doing here, and it would really be good if you could make like a quick howto on setting up a fresh trac installation, and then making said fresh install to work with GitPlugin.

I keep getting something along the lines of ""no git plugin found"" etc etc in the title of trac, in the web browser.  I was trying to get Trac working with modpython.

It's just confusing as hell :s",anonymous
7860,Browse branches as virtual top-level folders,enhancement,0.12,Herbert Valerio Riedel,closed,2010-10-19T13:29:17+02:00,2015-05-31T20:34:53+02:00,"For Git repos with multiple branches it would be useful to be able to browse the branch as a top-level virtual folder, with the actual files in the branch beneath it.",Sigurd Hogsbro
7243,"Display 'Browse Source' author as name, rather than email username?",enhancement,0.12,Herbert Valerio Riedel,closed,2010-06-14T11:31:20+02:00,2010-06-17T10:09:02+02:00,"(I'm new to trac, so maybe I should RTFM regarding this?)

I'm using trac 0.12rc1, GitPlugin 0.12.0.2dev, and git 1.7.0.2.msysgit.0 (also, EGit 0.81, which is how the files were committed).

Is there any way to display the 'Author' column in 'Browse Sources' as a name rather than an email username? Or would this be a feature of EGit?",anonymous
4815,Leading tabs in PyGit.py,task,0.11,Herbert Valerio Riedel,closed,2009-03-20T21:38:20+01:00,2009-03-24T07:14:29+01:00,"PyGit.py has a few lines with tab-based indention in this function:

{{{
    def print_data_usage():
}}}

(Introduced in Rev.3268, replacing line 622 of Rev.3267)

Not sure whether this is a coding standards issue; it bit me in the rear when I was tweaking. Hence zero priority. Sorry in advance if this is irrelevant.",Brent Longborough
5357,UnicodeDecodeError on UTF-8 encoded filenames,defect,0.12,anonymous,closed,2009-06-10T16:11:06+02:00,2015-05-31T20:34:53+02:00,"I just try the plugin version 0.11 on trac 0.11.1, 0.11.5 and trunk, and I allways get this error: 

Please, note that trac works fine if using SVN as backend.

{{{
Trac detected an internal error:

ProgrammingError: 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.
}}}

{{{
Most recent call last:

    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"", line 464, in _dispatch_request
      Code fragment:
       459. try:
       460. if not env and env_error:
       461. raise HTTPInternalError(env_error)
       462. try:
       463. dispatcher = RequestDispatcher(env)
       464. dispatcher.dispatch(req)
       465. except RequestDone:
       466. pass
       467. resp = req._response or []
       468.  
       469. except HTTPException, e:
      Local variables:
      Name	Value
      after 	[u' except RequestDone:', u' pass', u' resp = ...
      before 	[u' try:', u' if not env and env_error:', u' raise ...
      dispatcher 	<trac.web.main.RequestDispatcher object at 0x8bb984c>
      e 	ProgrammingError('You must not use 8-bit bytestrings unless you use a ...
      env 	<trac.env.Environment object at 0x875060c>
      env_error 	None
      exc_info 	(<class 'pysqlite2.dbapi2.ProgrammingError'>, ProgrammingError('You must ...
      filename 	'/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/mai ...
      frames 	[{'function': '_dispatch_request', 'lines_before': [u' try:', u' ...
      has_admin 	True
      line 	u' dispatcher.dispatch(req)'
      lineno 	463
      message 	u'ProgrammingError: You must not use 8-bit bytestrings unless you use a ...
      req 	<Request ""GET u'/login'"">
      resp 	[]
      tb 	<traceback object at 0x8e09694>
      tb_hide 	None
      traceback 	u'Traceback (most recent call last):\n File ...
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"", line 181, in dispatch
      Code fragment:
       176. if not req.path_info or req.path_info == '/':
       177. chosen_handler = self.default_handler
       178. # pre-process any incoming request, whether a handler
       179. # was found or not
       180. chosen_handler = self._pre_process_request(req,
       181. chosen_handler)
       182. except TracError, e:
       183. raise HTTPInternalError(e)
       184. if not chosen_handler:
       185. if req.path_info.endswith('/'):
       186. # Strip trailing / and redirect
      Local variables:
      Name	Value
      chosen_handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>
      chrome 	<trac.web.chrome.Chrome object at 0x8b6de4c>
      err 	(<class 'pysqlite2.dbapi2.ProgrammingError'>, ProgrammingError('You must ...
      handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>
      req 	<Request ""GET u'/login'"">
      self 	<trac.web.main.RequestDispatcher object at 0x8bb984c>
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/web/main.py"", line 317, in _pre_process_request
      Code fragment:
       312. req.outcookie['trac_form_token']['secure'] = True
       313. return req.outcookie['trac_form_token'].value
       314.  
       315. def _pre_process_request(self, req, chosen_handler):
       316. for filter_ in self.filters:
       317. chosen_handler = filter_.pre_process_request(req, chosen_handler)
       318. return chosen_handler
       319.  
       320. def _post_process_request(self, req, *args):
       321. nbargs = len(args)
       322. resp = args
      Local variables:
      Name	Value
      chosen_handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>
      filter_ 	<trac.versioncontrol.api.RepositoryManager object at 0x8bb9dac>
      req 	<Request ""GET u'/login'"">
      self 	<trac.web.main.RequestDispatcher object at 0x8bb984c>
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/versioncontrol/api.py"", line 86, in pre_process_request
      Code fragment:
        81.  
        82. def pre_process_request(self, req, handler):
        83. from trac.web.chrome import Chrome, add_warning
        84. if handler is not Chrome(self.env):
        85. try:
        86. self.get_repository(req.authname).sync()
        87. except TracError, e:
        88. add_warning(req, _(""Can't synchronize with the repository ""
        89. ""(%(error)s). Look in the Trac log for more ""
        90. ""information."", error=to_unicode(e.message)))
        91.
      Local variables:
      Name	Value
      Chrome 	<class 'trac.web.chrome.Chrome'>
      add_warning 	<function add_warning at 0x8803b54>
      handler 	<trac.web.auth.LoginModule object at 0x8bb9bac>
      req 	<Request ""GET u'/login'"">
      self 	<trac.versioncontrol.api.RepositoryManager object at 0x8bb9dac>
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/versioncontrol/cache.py"", line 213, in sync
      Code fragment:
       208. cursor.execute(""INSERT INTO node_change ""
       209. "" (rev,path,node_type,change_type, ""
       210. "" base_path,base_rev) ""
       211. ""VALUES (%s,%s,%s,%s,%s,%s)"",
       212. (str(next_youngest),
       213. path, kind, action, bpath, brev))
       214.  
       215. # 1.3. iterate (1.1 should always succeed now)
       216. self.youngest = next_youngest
       217. next_youngest = self.repos.next_rev(next_youngest)
       218.  
      Local variables:
      Name	Value
      action 	'A'
      actionmap 	{'edit': 'E', 'add': 'A', 'move': 'M', 'copy': 'C', 'delete': 'D'}
      authz 	<trac.versioncontrol.api.Authorizer object at 0x8d89bac>
      bpath 	''
      brev 	None
      cset 	<tracext.git.git_fs.GitChangeset object at 0x8cf0aac>
      cursor 	<trac.db.util.IterableCursor object at 0x8e3f12c>
      db 	<trac.db.pool.PooledConnection object at 0x8e0984c>
      feedback 	None
      key 	'youngest_rev'
      kind 	'F'
      kindmap 	{'file': 'F', 'dir': 'D'}
      metadata 	{u'youngest_rev': u'', u'repository_dir': u'git:/home/www/git/test/.git'}
      name 	u'youngest_rev'
      next_youngest 	'b4c60abd772d7c8192b8cf3f46d44978eccdc7b0'
      path 	'doc/analysis/Metodolog\xc3\x83\xc2\xada de almacenamiento de datos en el ...
      repos_youngest 	'73f1a95e8d2a161987c16d56cb223e40666ee63b'
      repository_dir 	u'git:/home/www/git/test/.git'
      self 	<tracext.git.git_fs.CachedRepository2 object at 0x8d5a0ec>
      value 	u''
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/db/util.py"", line 59, in execute
      Code fragment:
        54. return self.cursor.execute(sql)
        55. except Exception, e:
        56. self.log.debug('execute exception: %r', e)
        57. raise
        58. if args:
        59. return self.cursor.execute(sql_escape_percent(sql), args)
        60. return self.cursor.execute(sql)
        61.  
        62. def executemany(self, sql, args=None):
        63. if self.log:
        64. self.log.debug('SQL: %r', sql)
      Local variables:
      Name	Value
      args 	('b4c60abd772d7c8192b8cf3f46d44978eccdc7b0', ...
      self 	<trac.db.util.IterableCursor object at 0x8e3f12c>
      sql 	'INSERT INTO node_change (rev,path,node_type,change_type, ...
    * File ""/usr/lib/python2.5/site-packages/Trac-0.12dev_r8263-py2.5.egg/trac/db/sqlite_backend.py"", line 59, in execute
      Code fragment:
        54. raise
        55. def execute(self, sql, args=None):
        56. if args:
        57. sql = sql % (('?',) * len(args))
        58. return self._rollback_on_error(sqlite.Cursor.execute, sql,
        59. args or [])
        60. def executemany(self, sql, args=None):
        61. if args:
        62. sql = sql % (('?',) * len(args[0]))
        63. return self._rollback_on_error(sqlite.Cursor.executemany, sql,
        64. args or [])
      Local variables:
      Name	Value
      args 	('b4c60abd772d7c8192b8cf3f46d44978eccdc7b0', ...
      self 	<trac.db.sqlite_backend.PyFormatCursor object at 0x880a2fc>
      sql 	'INSERT INTO node_change (rev,path,node_type,change_type, ...
    * 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 
}}}",spoke
10337,"GitError: GIT control files not found, maybe wrong directory?",defect,0.12,anonymous,closed,2012-09-18T06:54:09+02:00,2012-09-18T07:08:27+02:00,"==== How to Reproduce ====

While doing a GET operation on `/timeline`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{}
}}}

User agent: `Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1`

==== System Information ====
|| '''`Trac`''' || `1.0beta1` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Genshi`''' || `0.6 (without speedups)` ||
|| '''`GIT`''' || `1.7.4.1` ||
|| '''`GIT`''' || `1.7.4.1` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup  WSGIApplicationGroup %{GLOBAL})` ||
|| '''`Pygments`''' || `1.4` ||
|| '''`pysqlite`''' || `2.6.0` ||
|| '''`Python`''' || `2.7.1+ (r271:86832, Apr 11 2011, 18:37:12) ` [[br]] `[GCC 4.5.2]` ||
|| '''`pytz`''' || `2010b` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`SQLite`''' || `3.7.4` ||
|| '''`jQuery`''' || `1.7.2` ||

==== Enabled Plugins ====
|| '''`TracGit`''' || `0.11.0.2` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/local/lib/python2.7/dist-packages/trac/web/main.py"", line 490, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/local/lib/python2.7/dist-packages/trac/web/main.py"", line 205, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/local/lib/python2.7/dist-packages/trac/timeline/web_ui.py"", line 153, in process_request
    available_filters += event_provider.get_timeline_filters(req) or []
  File ""/usr/local/lib/python2.7/dist-packages/trac/versioncontrol/web_ui/changeset.py"", line 871, in get_timeline_filters
    repositories = rm.get_real_repositories()
  File ""/usr/local/lib/python2.7/dist-packages/trac/versioncontrol/api.py"", line 613, in get_real_repositories
    repos = self.get_repository(reponame)
  File ""/usr/local/lib/python2.7/dist-packages/trac/versioncontrol/api.py"", line 553, in get_repository
    repoinfo.copy())
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 162, in get_repository
    shortrev_len=self._shortrev_len)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 179, in __init__
    git_bin=git_bin).getInstance()
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 120, in __init__
    i = Storage(repo, log, git_bin)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 194, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
}}}",trac
3411,Python 2.4 backport (done),enhancement,0.11,anonymous,closed,2008-07-17T19:05:21+02:00,2010-03-07T12:25:50+01:00,"Here is a completed back port of gitplugin for Trac 0.11 to run on Python 2.4.
There is no feature disparity other than support for older Python.

Basicly some explicit locking/try-finally for ''when'', unrolled ''all'', and lambda for ''partial''.
It lacks the 2.5 elegance but makes this plugin available to people running older ''stable'' systems.

Perhaps you want to feature this on the plugin page or even apply the patch for maximum compat.",Christian Zuckschwerdt
12606,"WindowsError: (5, 'Access is denied')",defect,,,closed,2015-12-10T07:52:34+01:00,2015-12-10T10:55:05+01:00,"==== How to Reproduce ====

While doing a GET operation on `/browser`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'path': '/'}
}}}

User agent: `Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0`

==== System Information ====
|| '''`Trac`''' || `0.12.4.ja1` ||
|| '''`Babel`''' || `0.9.5` ||
|| '''`CustomFieldAdmin`''' || `0.2.8` ||
|| '''`Docutils`''' || `0.7` ||
|| '''`Genshi`''' || `0.6 (without speedups)` ||
|| '''`GIT`''' || `1.9.5.msysgit.1` ||
|| '''`mod_wsgi`''' || `3.3 (WSGIProcessGroup  WSGIApplicationGroup %{GLOBAL})` ||
|| '''`Pygments`''' || `1.3.1` ||
|| '''`pysqlite`''' || `2.4.1` ||
|| '''`Python`''' || `2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]` ||
|| '''`RPC`''' || `1.1.2-r9970` ||
|| '''`setuptools`''' || `0.6c11` ||
|| '''`SQLite`''' || `3.5.9` ||
|| '''`Subversion`''' || `1.6.17 (r1128011)` ||
|| '''`jQuery`''' || `1.4.4` ||

==== Enabled Plugins ====
|| '''`advancedticketworkflowplugin`''' || `0.11dev-r9962` ||
|| '''`batchmodify`''' || `0.8.0a1-trac0.12` ||
|| '''`blockdiagplugin`''' || `0.5.1` ||
|| '''`exceldownloadplugin`''' || `0.12.0.1` ||
|| '''`footnotemacro`''' || `1.03` ||
|| '''`hudsontracplus`''' || `0.4` ||
|| '''`iniadmin`''' || `0.2` ||
|| '''`lightningtheme`''' || `1.0` ||
|| '''`newwikipagebutton`''' || `1.01` ||
|| '''`privatewikis`''' || `1.0.0` ||
|| '''`reportincludeplugin`''' || `0.5-snapshot` ||
|| '''`svnauthzadminplugin`''' || `0.1.2.-moved.to.trac.0.11-` ||
|| '''`ticket-clone`''' || `Rev` ||
|| '''`ticketimport`''' || `0.8` ||
|| '''`trac-jsgantt`''' || `0.2.0-ja` ||
|| '''`tracaccountmanager`''' || `0.3` ||
|| '''`tracaddcommentmacro`''' || `0.3` ||
|| '''`tracautowikify`''' || `0.1` ||
|| '''`tracavatarplugin`''' || `0.3` ||
|| '''`traccompleteuserplugin`''' || `0.4` ||
|| '''`traccustomfieldadmin`''' || `0.2.8` ||
|| '''`tracdatefield`''' || `1.0.1` ||
|| '''`tracdiscussion`''' || `0.8-r9877` ||
|| '''`tracdragdrop`''' || `0.12.0.10` ||
|| '''`tracflashembedmacro`''' || `0.95rc1` ||
|| '''`tracganttcalendarplugin`''' || `0.5-r801` ||
|| '''`tracgit`''' || `0.12.0.5dev` ||
|| '''`tracmacostheme`''' || `1.0.3` ||
|| '''`tracmacropost`''' || `0.2` ||
|| '''`tracnav`''' || `4.2.dev` ||
|| '''`tracquerychart`''' || `0.2.3` ||
|| '''`tracsectioneditplugin`''' || `0.1` ||
|| '''`tracsubticketsplugin`''' || `0.1.1.dev-20130429` ||
|| '''`tracthemeengine`''' || `2.0.1` ||
|| '''`tractocmacro`''' || `11.0.0.3` ||
|| '''`tracusermanagerplugin`''' || `0.4r5520` ||
|| '''`tracwysiwyg`''' || `0.12.0.4-r9676` ||
|| '''`tracxdocview`''' || `0.1` ||
|| '''`tracxmlrpc`''' || `1.1.2-r9970` ||
|| '''`workfloweditorplugin`''' || `1.1.5` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py"", line 522, in _dispatch_request
    dispatcher.dispatch(req)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\web\main.py"", line 243, in dispatch
    resp = chosen_handler.process_request(req)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\versioncontrol\web_ui\browser.py"", line 391, in process_request
    dir_data = self._render_dir(req, repos, node, rev, order, desc)
  File ""C:\TracLight\python\lib\site-packages\trac-0.12.4.ja1-py2.6.egg\trac\versioncontrol\web_ui\browser.py"", line 553, in _render_dir
    entries = [entry(n) for n in node.get_entries()
  File ""build\bdist.win32\egg\tracext\git\git_fs.py"", line 544, in get_entries
    yield GitNode(self.repos, ent[-1], self.rev, self.log, ent, historian)
  File ""C:\TracLight\python\Lib\contextlib.py"", line 23, in __exit__
    self.gen.next()
  File ""build\bdist.win32\egg\tracext\git\PyGIT.py"", line 760, in get_historian
    p[0].terminate()
  File ""C:\TracLight\python\Lib\subprocess.py"", line 949, in terminate
    _subprocess.TerminateProcess(self._handle, 1)
WindowsError: [Error 5] ANZXªÛ³êÜµ½B
}}}",admin
12859,"GitError: GIT control files not found, maybe wrong directory?",defect,,,closed,2016-08-30T06:23:44+02:00,2016-08-30T08:17:59+02:00,"==== How to Reproduce ====

While doing a GET operation on `/admin`, Trac issued an internal error.

''(please provide additional details here)''

Request parameters:
{{{
{'cat_id': None, 'panel_id': None, 'path_info': None}
}}}

User agent: `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36`

==== System Information ====
|| '''`Trac`''' || `1.0` ||
|| '''`Trac`''' || `1.0` ||
|| '''`Babel`''' || `0.9.6` ||
|| '''`Docutils`''' || `0.8.1` ||
|| '''`Genshi`''' || `0.6 (with speedups)` ||
|| '''`GIT`''' || `1.7.10.4` ||
|| '''`MySQL`''' || `server: ""5.6.27"", client: ""5.5.37"", thread-safe: 1` ||
|| '''`MySQLdb`''' || `1.2.3` ||
|| '''`Pygments`''' || `1.5` ||
|| '''`Python`''' || `2.7.3 (default, Feb 27 2014, 19:37:34) ` [[br]] `[GCC 4.7.2]` ||
|| '''`Python`''' || `2.7.3 (default, Feb 27 2014, 19:37:34) ` [[br]] `[GCC 4.7.2]` ||
|| '''`pytz`''' || `2011k` ||
|| '''`pytz`''' || `2011k` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`setuptools`''' || `0.6` ||
|| '''`Subversion`''' || `1.7.5 (r1336830)` ||
|| '''`jQuery`''' || `1.7.2` ||

==== Enabled Plugins ====
|| '''`TracAccountManager`''' || `0.3.2` ||
|| '''`TracGit`''' || `0.12.0.5dev` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/web/main.py"", line 497, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/web/main.py"", line 179, in dispatch
    chosen_handler)
  File ""/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/web/main.py"", line 325, in _pre_process_request
    chosen_handler = filter_.pre_process_request(req, chosen_handler)
  File ""/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/versioncontrol/api.py"", line 343, in pre_process_request
    repo = self.get_repository(reponame)
  File ""/usr/local/lib/python2.7/dist-packages/Trac-1.0-py2.7.egg/trac/versioncontrol/api.py"", line 553, in get_repository
    repoinfo.copy())
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 244, in get_repository
    use_committer_time=self._use_committer_time,
  File ""/usr/lib/python2.7/dist-packages/tracext/git/git_fs.py"", line 360, in __init__
    git_fs_encoding=git_fs_encoding).getInstance()
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 139, in __init__
    i = Storage(repo, log, git_bin, git_fs_encoding)
  File ""/usr/lib/python2.7/dist-packages/tracext/git/PyGIT.py"", line 252, in __init__
    raise GitError(""GIT control files not found, maybe wrong directory?"")
GitError: GIT control files not found, maybe wrong directory?
}}}",gguard
