Project

General

Profile

Mercurial 1.5.4 and redmine

Added by Thomas Sanchez over 13 years ago

Hi guys,

I'm not sure that the bug is in redmine or in ruby ...
I've a server on archlinux with a ruby 1.9.1_p378-2 (I know redmine does not support ruby 1.9 but I've seen this after the installation),
redmine 0.9.4, nginx 0.7.65, passenger 2.2.14.

[0](root@daedric-toolbox /srv/http/redmine [0])RAILS_ENV=production ruby script/about
About your application's environment
Ruby version              1.9.1 (x86_64-linux)
RubyGems version          1.3.1
Rack version              1.0
Rails version             2.3.5
Active Record version     2.3.5
Active Resource version   2.3.5
Action Mailer version     2.3.5
Active Support version    2.3.5
Edge Rails revision       unknown
Application root          /srv/http/redmine
Environment               production
Database adapter          mysql
Database schema version   20100221100219

I've created a project associated with existing repository, all gone rigth but all my new commits
appear under 'test test' user, all old commit are good, it seems to affect only those were done recently.
On hgweb interfaces all commit are correct, even new one, and I've checked if template for mercurial are still
compatible (and it is the case)

I'm not a ruby developper (some knowledge in this language).

Can you say to me if it is a ruby 1.9 issue ? redmine ? other ?
ruby 1.9 full support is plan for what release ?
Do you need some other information ?

Thanks.
(Sorry for my bad english :))


Replies (7)

RE: Mercurial 1.5.4 and redmine - Added by Toshi MARUYAMA over 13 years ago

Check your "Users" setting.

RE: Mercurial 1.5.4 and redmine - Added by Thomas Sanchez over 13 years ago

It just hide the problem I think, it associate a committer with a redmine user no ?
It is the committer name that should be printed no ? Why it worked with old commit ?

But thanks for the response.

RE: Mercurial 1.5.4 and redmine - Added by Toshi MARUYAMA over 13 years ago

As far as I know, commit user is stored in "commiter" field of "changesets" table.

RE: Mercurial 1.5.4 and redmine - Added by Thomas Sanchez over 13 years ago

Im not sure to understand the link between the database et the user who has committed?

I've joined screenshot.
You can see that on 'big' repo, all user are correctly displayed, except for the commit today.
I believe that the only difference is mercurial that have been updated for the two last commit.
So I do not understant what happend.

If I associate test test with my name like you show in your first answer
I see my name, but not the one with I committed

redmine-bug-1.tiff (67.2 KB) redmine-bug-1.tiff User on Redmine
hg-comparison.tiff (27.6 KB) hg-comparison.tiff User on hgweb
redmine-old-repo.tiff (61.5 KB) redmine-old-repo.tiff 'old' projet, with the 2 last commit (today) with wrong name

RE: Mercurial 1.5.4 and redmine - Added by Toshi MARUYAMA over 13 years ago

Redmine stores all revisions of hg repository in "Changesets" table.
"Changesets" table has "commiter" and "user_id" fields.
"commiter" stores hg original commiter.
"user_id" stores Redmine user id.
If "user_id" is not null, Redmine shows Redmine user name.
If "user_id" is null, Redmine shows hg original commit user.
If user relation between hg commit user and Redmine user clear, "user_id" set null.

RE: Mercurial 1.5.4 and redmine - Added by Toshi MARUYAMA over 13 years ago

When Redmine fetches changesets, "changeset.before_create" (source:tags/0.9.4/app/models/changeset.rb#L72) calls.
And "repository.find_committer_user" (source:tags/0.9.4/app/models/repository.rb#L149) calls.

RE: Mercurial 1.5.4 and redmine - Added by Thomas Sanchez over 13 years ago

Ho, ok
So if I have understood, redmine ingest old commit without any interpretation, but new one commited after redmine installation are interpreted
so I've to do the user mapping ?

Thanks for all your reponses.

    (1-7/7)