version management

A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the “revision number”, “revision level”, or simply “revision”. For example, an initial set of files is “revision 1”. When the first change is made, the resulting set is “revision 2”, and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

source: Wikipedia

software

The RBG/ISP offers since august 2011 a project management-software in the beta-phase. It has the name Chiliproject (not Part of the wiki) and is a fork of Redmine (not part of the wiki).

The project leader hat the opportunity to use different modules:

  • tickets
  • Gantt diagramms
  • news
  • insight in the repository with diff-preview
  • wiki
  • file management

who can use it?

All students with an active RBG/ISP account can login the software and create sub-projects. The account is also necessary if more persons want to be part of a project by students.

What is important to note?

When logging in for the first time, a project is automatically created with the RBG/ISP login name. This “project” may not be used (e.g. rename, change roles etc.), since it serves the assignment of the following (sub)projects. This means that after login a subproject must be created which contains the identification of the main project (derived from the login name). See further below.

usage

A short overview how to use the software:

login / register

To be able to use the software in any form - e.g. as support at a project or to create a project by yourself - you have to visit the homepage and login on the upper right side:

  • you see a window to login:

  • the data has to be complete. First and last name should already be filled, the mail-adress has to be filled in seperatly:

  • After that you will be able to configurate generell options:

create a project

When logging in for the first time, a project is automatically created, consisting of the first and last names, or the login account. This is necessary to get the appropriate rights to create a project.

  • to create a project by yourself you have to click on the upper right side e.g. on the automatically created project:

  • within the project you will be able to create sub-projects:

  • now a configuration-mask shows up, which has ot be filled accordingly:

important: The first Part of the project name must stay that way. Otherwise the creation of the project will be denied.

important: When unselecting unnecessary modules, the repository must remain activated, otherwise the SVN/Git function will not be available.

For simplicity, the second part of the identifier should be equal to the project title (without spaces).

As SCM you can select SVN as well as Git. If you are unsure, choose SVN, because this is very common and supported by different editors.

The switch Public causes that on the one hand the project can be viewed by everyone and on the other hand it can be checked out by everyone. If this is not the case, only authorized members can access it.

  • at the end you have a completed project which can now be used:

create a SVN project

Here are some first step which are necessary to provide a SVN repository. We use as an example the project Toscana and the user Testds:

$ svn co https://testds@svn.rbg.informatik.tu-darmstadt.de/svn/testds-toscana
$ cd testds-toscana
$ echo "Test" > first_file.txt
$ svn add first_file
$ svn ci -m "Erster Eintrag"

We use the certificates of the TU Darmstadt. The root-certificates can be found here.

If this has worked, you can view the changes in the Chiliproject under repository.

SSL problems: Unfortunately, SVN does not check the entire certificate chain, even if it is delivered by the web server. Therefore often only an adjustment in the server configuration of SVN helps:

echo "ssl-ignore-unknown-ca = true" >> ~/.subversion/servers

create a Git project

If you want to use Git there are some other steps necessary:

$ git clone https://loginname@git.rbg.informatik.tu-darmstadt.de/testds-toscana.git
$ cd testds-toscana
$ echo "Test" > first_file.txt
$ git add first_file
$ git commit -am "Erste Datei"
$ git push origin master

If you have problems with the SSL certificate you should before that type

export GIT_SSL_NO_VERIFY=1

. This ensures that Git does not verify the certificate. Who would like this nevertheless, must install the master certificates of the TU Darmstadt. Dies sorgt dafür, dass Git nicht das Zertifikat überprüft. Wer dies dennoch möchte, muss die Stammzertifikate der TU-Darmstadt installieren. They can be found here.

Now the first changes can be found under the repository in the Chiliproject.

project members

Important: The initiator of the project must not come up with the idea of “degrading” himself to a developer, as otherwise he would no longer have full access to the projects. In case it still happened, please send a mail to sysop@isp... with the subject line: SCM

To add members to your own project, you have to click on the project-configuration in the certain project (look at the picture, first arrow) than on members (secound arrow) and use the search on the right side to find and chose the members and their role (it's enough developers for the other members → don't make yourself a developer) (third arrow).

tickets via mail

If there is a change in states, e.g. a new ticket, you will receive a mail. This can be changed in the project set-ups. It's also possible to answer to these ticket via mail. You're not allowed to change the subject line of the mail because than the assignment to the project will get lost and the mail will be deleted.

delete a project

  1. student: projects can only be deleted by the RBG/ISP on request
  2. automatically: if a student is not registered at the HRZ anymore all their project will also be deleted. This leads to the fact that all groupmembers wohnt have access to the project anymore.

As a guide, it is necessary for the RBG/ISP to rename the projects to be deleted onto <loginname-projectname>_delete.

The renaming only affects the project title, not the uploaded files and created repositories, so that a new creation with the same name fails.

checkout user for Jenkins and Co.

In the case that Jenkins and Co. should be able to automatically retrieve the SVN or Git, there is the user “checkoutuser” and the role “checkout”. This role only has the right to perform a “checkout”, but no “commit”.

The password can be requested at the RBG/ISP.

generelle help

backup

The RBG/ISP backs up SVN and Git projects and uploaded files hourly at file level. However, the SVN specific databases are not taken into account. Twice a day Chiliproject creates a database backup.

But as always in IT, it doesn't hurt to create backups of your own project. :-)

quota

The projects run on a separate server and therefore do not touch the quota. However, care is taken not to fill the disk space with uploaded files. Therefore please pay attention to the resolution and size of pictures etc..

most common mistakes

  • the project creater made him*herself a developer
    • what is happening: If the project creator made him*herself a developer this will lead the fact that he*she will lose all the managment rights and so no one will have this rights anymore. They will have to be given back by the RBG/ISP.
  • main-project is renamed
    • what is happening: If the project creator has found the button for renaming the project and uses it, the project will be completely removed from him*her. Since various database and file system entries are created when the project is created, they cannot be assigned to a student. Therefore, the project is deleted by the RBG/ISP and re-created and assigned to the actual initiator.
    • The only exception is when the project is deleted.

questions

If you have technical questions or problems please write a mail to sysop@rbg...


In Other Languages
Translations of this page: