Difference between revisions of "Source Control Management/6.1"

From FusionForge Wiki
Jump to: navigation, search
(Distributed VCS)
m (Distributed VCS)
Line 19: Line 19:
== Supported Version Control System ==
== Supported Version Control System ==
=== Distributed VCS ===
=== Distributed VCS ===
* [[SCM_Git_Plugin|Git]]
* [[SCM_Git_Plugin/6.1|Git]]
* [[SCM_Hg_Plugin|Mercurial]]
* [[SCM_Hg_Plugin/6.1|Mercurial]]
=== Centralized VCS ===
=== Centralized VCS ===

Revision as of 16:05, 15 December 2018

This page in other versions: master

FusionForge provides a feature to integrate version control systems such as Subversion, Git, Bazaar, even CVS, and others. This integration relies on the plugin system that FusionForge proposes by default.

Main Features

  • main repository per project
  • second repositories per project for Git, Mercurial
  • personal repository per project for Git
  • Simultaneous access protocols; e.g: ssh & smart http for Git, dav & ssh for SVN, ...
  • Role Based Access Control integration
  • Web browsing by integration of standard open source tools (Git => gitweb, etc.)
  • Reporting & statistics
  • Nightly snapshot archive
  • Multiple SCM type (Git + Subversion + Mercurial + CVS.) simultaneously
  • Project Homepage widgets
  • User homepage widgets

Supported Version Control System

Distributed VCS

Centralized VCS

See each plugin for detailled features.

Plugin Extensions

  • scmhook provides hooks management for Git, Subversion & Mercurial

Available Widgets

Each SCM plugin provides his own set of widgets. Still SCM core feature provides generic widgets.

User oriented widgets

Project oriented widgets


To enable this system at forge level, the configuration flag use_scm must be set to yes. Per project, the system can be enable/disable through the Project admin tab.
By setting the configuration flag allow_multiple_scm flag to on (default is off), a project can use any SCM engine simultaneously, e.g: using SVN, Git, Hg or CVS in parallel.


FusionForge SCM Permissions

Relying on RBAC, SCM permissions are:

  • No Access: user has no access to Source Code Management tool and any information.
  • Read only: user can browse, retrive information from Source Code Management Tool. User can create personal repository if SCM tool supports such feature.
  • Commit access: user has full access to data store into Source Code Management.
  • Project administration: the permission is set at project level. It provides full commit access and administrative permission to create/delete repositories and other configuration such as hook activation.

Permission apply to any repository created within the project.

Main Page

Anonymous view of SCM project homepage

The SCM homepage is divided into 2 main areas:

  • the left side of the page is dedicated to different information to get retrieve as user (member of the project) or as anonymous (basically anyone if the project provides anonymous access to SCM) the source code.
    Online browser link is available at bottom left.
    Direct access to documentation of the (D)VCS tool is at top left.
  • the right side of the page presents some basic information about repository history.
  • at top of the page, if your profile has administrative rights, a submenu gives you access to "Reporting" & "Administration", respectively reporting activity (commits over time, last 30 days, last 3 months, last year), administration actions such as hooks activation, create/delete second repositories.

Browse Page

Based on tooling integration.

  • Scmgit: Gitweb
  • Scmsvn: viewvc
  • Scmhg: hgweb
  • Scmcvs: viewvc


3 reports available:

  • Commits over time

a overall total of commits per month since the start of the project

  • Commits last 30 days

per user commits during the last 30 days.

  • Commits last 365 days

per user commits during the last 365 days.



Access to this page requires Project administration" permissions.