Opened 17 years ago
Last modified 16 years ago
#4378 closed defect
MySQL structure case insensitive causes collision with file names — at Initial Version
Reported by: | Owned by: | Christopher Lenz | |
---|---|---|---|
Priority: | high | Milestone: | 0.11.1 |
Component: | version control | Version: | 0.10.3rc1 |
Severity: | critical | Keywords: | mysql, 4378, patch |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
When running init with a MySQL backend on a subversion repository that has a case collision, the following error comes up. The repo in this case has two symlinks inside of it named "CTE" and "cte". This needs to be changed for case sensitive file systems.
Failed to initialize environment. (1062, "Duplicate entry '1-html/cte-A' for key 1") Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/scripts/admin.py", line 628, in do_initenv
repos = self.env.get_repository()
File "/usr/lib/python2.3/site-packages/trac/env.py", line 195, in get_repository
return RepositoryManager(self).get_repository(authname)
File "/usr/lib/python2.3/site-packages/trac/versioncontrol/api.py", line 101, in get_repository
repos = self._connector.get_repository(rtype, rdir, authname)
File "/usr/lib/python2.3/site-packages/trac/versioncontrol/svn_fs.py", line 260, in get_repository
crepos = CachedRepository(self.env.get_db_cnx(), repos, None, self.log)
File "/usr/lib/python2.3/site-packages/trac/versioncontrol/cache.py", line 34, in init
self.sync()
File "/usr/lib/python2.3/site-packages/trac/versioncontrol/cache.py", line 100, in sync
(str(current_rev), path, kind, action,
File "/usr/lib/python2.3/site-packages/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.3/site-packages/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.3/site-packages/MySQLdb/cursors.py", line 163, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (1062, "Duplicate entry '1-html/cte-A' for key 1")