Feature #2925

Url to fetch changesets for a repository

Added by Eric Davis over 5 years ago. Updated 5 months ago.

Status:ClosedStart date:2009-03-07
Priority:NormalDue date:
Assignee:Eric Davis% Done:

0%

Category:SCM
Target version:0.9.0
Resolution:Fixed

Description

I'd like to add a url hook to Redmine's repositories so a repository can have it's fetch changesets called from a basic HTTP GET/POST. This could be linked up with post commit hooks or a web hook service (e.g. GitHub) to allow a repository to stay up to date without using auto fetch commits or a scheduled rake task.


Related issues

Related to Feature #296: REST API Closed
Related to Feature #3389: Increase speed of Repository.fetch_changesets Closed 2009-05-19

Associated revisions

Revision 3107
Added by Jean-Philippe Lang almost 5 years ago

Adds an action to SysController to fetch changesets of one or all projects (#2925).

Exemples:
  • /sys/fetch_changesets (=> fetches changesets for all active projects)
  • /sys/fetch_changeseys?id=foo (=> fetches changesets for project foo only)

History

#1 Updated by Eric Davis over 5 years ago

This might need part of the REST API implemented first, specifically authentication.

#2 Updated by Markus Knittig over 5 years ago

+1
Re REST API: I think the controllers need to be refactored first...

#3 Updated by Jean-Philippe Lang over 5 years ago

I think we could easily add this entry point to SysController that already provides some repository related methods (used by reposman).

#4 Updated by Eric Davis over 5 years ago

Jean-Philippe Lang wrote:

I think we could easily add this entry point to SysController that already provides some repository related methods (used by reposman).

I think once REST is complete, we should remove SysController completely. Nice side effect is that reposman would be a good example of using the REST API.

  • SysController#projects would become ProjectsController#index, :format => :xml (list of projects in xml)
  • SysController#create_project_repository would become RepositoriesController#create, :format => :xml (create a new repository from xml)

I don't think we should just remove SysController though, it should be depreciated in order to give developers enough time to port to the REST API. I'm saying this because it's taken me over two weeks to recover from the Rails 2.2.x i18n and Enumeration API changes and I don't want to cause that pain on any other developer without giving notice.

#5 Updated by Jean-Philippe Lang over 5 years ago

Eric Davis wrote:

  • SysController#create_project_repository would become RepositoriesController#create, :format => :xml (create a new repository from xml)

But this would require a Redmine admin account to run reposman.
I don't think it's the best solution.

#6 Updated by Chris Miller over 5 years ago

I believe that if you `curl http://www.your-redmine.com/projects/your-project/repository | /dev/null` in your post-commit hook it will cause Redmine to "look" at the repository, specifically fetch the changesets. If you have a private project this would become crazy-complicated, however, this seems to work for me (although I use a local Git repo on the server hard disk).

I'm not suggesting this isn't a good feature, I'm just saying that until the feature is done that a good band-aid solution exists (or exists with my setup - YMMV).

#7 Updated by Jean-Philippe Lang almost 5 years ago

  • Status changed from New to Closed
  • Target version set to 0.9.0
  • Resolution set to Fixed

Added in r3107.

#8 Updated by Lukas Pirl 5 months ago

There is also a plugin to fetch commits for a specific repository only.

Also available in: Atom PDF