ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Git: 404 - The entry or revision was not found in the repository (Bug #992)


Added by Matt Connolly at 2012-04-16 11:38 am. Updated at 2012-05-21 10:45 am.


Status:Open Start date:2012-04-16
Priority:Normal Due date:
Assignee:Matt Connolly % Done:

0%

Category:-
Target version:-
Remote issue URL: Affected version:

Description

I've just installed Chiliproject 3.1.0. When I create a new project and configure a git repository, the Repository page only ever shows "404 The entry or revision was not found in the repository."

I can run the `rake redmine:fetch_changesets` task and can verify from then running `script/console` that the changesets are actually loaded. I can also see them in the mysql database. However, the chiliproject site only shows the 404 message.


Associated revisions

Revision 1ca69f2a
Added by Jean-Philippe Lang at 2009-01-11 12:01 pm

Different icon for closed issues in search result (#992).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2256 e93f8b46-1217-0410-a6f0-8f06a7374b81

History

Updated by Matt Connolly at 2012-04-16 11:43 am

Oh, this is running ruby 1.9.3-p125, in case that makes a difference....

Updated by Matt Connolly at 2012-04-16 12:37 pm

It was configuration issue. Running from "script/console" or "script/server" was finding git through the user's logged in PATH environment variable, which was not set for apache web server user account. Appropriately setting configuration.yml to the full path of my git location resolved the issue.

Despite being a configuration problem, the error 404 is quite misleading and is likely to occur for people in the future. There was no log messages either indicating any form of error with the scm adapter.

Updated by Felix Schäfer at 2012-04-16 12:55 pm

Mmh, shouldn't there be an error message either in the rails logs (log/production.log or log/development.log) or in the SCM log (log/scm_error.log)?

It's possible that the user-facing error is intentionally "couldn't find a repo" because saying "I can't find git" would expose/leak configuration/installation details.

Updated by Matt Connolly at 2012-04-17 10:06 am

I'm not sure that saying "I can't find git" reveals too much about the inner workings of a server... But, I do think there should be a more user friendly error message somewhere.

How about the point where the project administrator sets up the repository? At least that page would only be seen by someone who should know a thing or too about that server since the git repository is typically on the same server. (Is it? It is when I use it...)

  • Assignee set to Matt Connolly

Updated by Matt Connolly at 2012-04-17 12:24 pm

So, there were no log messages because all of the exceptions thrown by the scm were caught and silently returning nil (or some other value).

I've added some SCM status to the project repository settings page, and also added some logging for when the scm exceptions occur. This is in a topic branch, branched from stable, and can be found here:

https://github.com/mattconnolly/chiliproject/tree/992-git-404

Github pull request here:

https://github.com/chiliproject/chiliproject/pull/187

Updated by Matt Connolly at 2012-05-21 10:45 am

Hi Felix, I take your points about making the SCM configuration being an administrator task.

But, as I look more into the source code, I can see that the repository page was originally designed to show the error message, which is much more appropriate than the 404 error. There is also some logging to 'log/scm.error.log' but only in development mode (not production so this doesn't necessarily help a non-developer).

See the top of repositories_controller.rb:

  rescue_from Redmine::Scm::Adapters::CommandFailed, :with => :show_error_command_failed

Have a look at this more simple commit, which does:

  1. Does not suppress scm errors (allowing correct error message to be displayed instead of 404)
  2. Also logs errors through the standard logger.

https://github.com/chiliproject/chiliproject/pull/198

Thoughts?
Matt

Also available in: Atom PDF