Documentation: Difference between revisions

From pCT
Mri083 (talk | contribs)
→‎Software repository: adding link to gitlab repository
Mri083 (talk | contribs)
Line 20: Line 20:


== Development workflow ==
== Development workflow ==
'''Note: the repository has not yet been created'''
Everyone can access the main repository, however only a small group of administrators has write access. However, every user can ''fork'' a repository, this creates a copy where a single developer or a group of developers have full access.
Everyone can access the main repository, however only a small group of administrators has write access. However, every user can ''fork'' a repository, this creates a copy where a single developer or a group of developers have full access.


Line 29: Line 27:
* '''dev''': the development branch
* '''dev''': the development branch


In addition to those main branches there can be ''feature'' branches where development happens detached from the main branches. A ''feature'' branch is based on the ''dev'' branch.
In addition to those main branches there can be ''feature'' branches where development happens detached from the main branches. A ''feature'' branch is based on the ''dev'' branch and has a limited lifetime.


=== Creating a project fork ===
=== Creating a project fork ===
A ''project fork'' is a copy of the original repository where a user or a group of users has/have full control. All development in our project is carried out in the individual forks. Branches of project forks are merged back into the main repository by '''merge requests''', preferably via '''fast forward''' merges. That requires that developers rebase the project fork to the main repository and resolve all conflicts before requesting a merge.
A ''project fork'' is a copy of the original repository where a user or a group of users has/have full control. All development in our project is carried out in the individual forks. Branches of project forks are merged back into the main repository by '''merge requests''', preferably via '''fast forward''' merges. That requires developers to rebase project forks to the main repository and resolve all conflicts before requesting a merge.


[https://docs.gitlab.com/ce/gitlab-basics/fork-project.html How to fork a project]
[https://docs.gitlab.com/ce/gitlab-basics/fork-project.html How to fork a project]

Revision as of 15:48, 16 December 2016

Main Page -> Documentation

Mailing lists and collaborative tools

  • Project web page: has to come
  • General mailing list: pCT@uib.no
  • Slack project

Software installation

Software repository

We use the gitlab server hosted by IT of University of Bergen.

Development workflow

Everyone can access the main repository, however only a small group of administrators has write access. However, every user can fork a repository, this creates a copy where a single developer or a group of developers have full access.

The main repository has the following branches:

  • production: the latest production code, in this branch we have release tags
  • master: the latest stable release
  • dev: the development branch

In addition to those main branches there can be feature branches where development happens detached from the main branches. A feature branch is based on the dev branch and has a limited lifetime.

Creating a project fork

A project fork is a copy of the original repository where a user or a group of users has/have full control. All development in our project is carried out in the individual forks. Branches of project forks are merged back into the main repository by merge requests, preferably via fast forward merges. That requires developers to rebase project forks to the main repository and resolve all conflicts before requesting a merge.

How to fork a project

Making local development copy

   git clone <project link>

Pushing to development fork

Pull/Merge request

All updates to the main repository are made via merge requests (github refers to them as pull requests). A merge request requires the code update to be in a mergable branch in a development fork.

Coming soon: HOWTO

User documentation