Project

General

Profile

Actions

Patch #2525

open

Redmine management of Git repositories

Added by Sentinel T almost 16 years ago. Updated about 11 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
SCM
Target version:
-
Start date:
2009-01-18
Due date:
% Done:

80%

Estimated time:

Description

This patch introduces Redmine management of Git repositories.
The design is based on the Gitosis tool.
  • To enable the feature check 'Serve Git repositories using Redmine's SSH account'
    in global Settings/Repositories.
  • Then each user can specify its public SSH key in the My Account page
  • Redmine is configuring '~/.ssh/authorized_keys' file to allow SSH for Redmine users
    authorized by SSH public key. The shell is restricted to Redmine's GitManager:serve function.
  • This function then checks the corresponding rights of the user who logs in
    to the repository he wants to access. Also it rewrites the URL to the repository,
    so the user can specify simpler version: 'redmine_user@server_name:redmine_project_identifier'.
  • If the repository does not exists, it is created on the fly
  • Redmine also installs own hooks which further check the correctness of the commits
    pushed to the repo, ex:
    • Is the commiter of the commit equal to the user which pushes to the repository
    • Is the push fast-forward
    • Are the referenced issues correct

The patch is probably still very buggy. No localization. No much tests. Nevertheless it works for me on my Linux machine. I'm posting for wider review. Comments welcomed.


Files


Related issues

Related to Redmine - Feature #7747: Add capability to ask\accept\reject review of patches (flag support on attachments)New2011-03-01

Actions
Actions

Also available in: Atom PDF