Mercurial support and encoding...
I have created project and tried to attach a mercurial repository to it.
When I run :
ruby script/runner "Repository.fetch_changesets" -e production
I got the following error:
/home/redmine/redmine-0.8.0/vendor/rails/railties/lib/commands/runner.rb:47: /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:147:in `log': RuntimeError: ERROR C22021 Minvalid byte sequence for encoding "UTF8": 0xe97365 HThis error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". Fwchar.c L1545 Rreport_invalid_encoding: INSERT INTO "changes" ("changeset_id", "action", "revision", "branch", "from_path", "path", "from_revision") VALUES(781, E'A', NULL, NULL, NULL, E'/Quantity/doc/Présentation du projet.pdf', NULL) RETURNING "id" (ActiveRecord::StatementInvalid) from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:484:in `execute' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:929:in `select_raw' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:916:in `select' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all_without_query_cache' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:61:in `select_all' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:13:in `select_one' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:19:in `select_value' from /home/redmine/redmine-0.8.0/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:433:in `insert' ... 31 levels... from /home/redmine/redmine-0.8.0/vendor/rails/railties/lib/commands/runner.rb:47 from /home/redmine/apps/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /home/redmine/apps/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from script/runner:3
I have search the forum and tickets and others had similar errors and all seems ok since we can choose repositories encoding in the settings.
But...not for me !
I have tried various encoding combination without success like:
Repositories encodings: ISO-8859-15,ISO-8859-1,UTF-8
Commit messages encoding: ISO-8859-15
I have tried to change
return Iconv.conv('UTF-8', encoding, str) to
return Iconv.conv('UTF-8//IGNORE', encoding, str) in
app/models/changeset.rb without success too (Do I need to run something to take this modification into account ?).
I am completly lost indeed.
Moreover, fetching changesets takes 15 minutes for my local mercurial repository (106 changesets) while a SVN repository (850+ changesets) accessed through a network takes 15 seconds ! Is that ok ?
Here is my config:
About your application's environment
Ruby version 1.8.6 (i686-linux)
RubyGems version 1.3.1
Rails version 2.1.2
Thanks in advance and keep up the good work!
RE: Mercurial support and encoding... - Added by Jérémie Delaitre over 11 years ago
After some investigation, I have created a new issue (#2664).