SVN-GIT web based administration

In order to give everyone the possibility to autonomously create and administer SVN/GIT repositories, we have created a web based interface. You can login using your UNIBZ credentials and you are allowed to create and administer an unlimited amount of repositories. The interface allows the administration of access permissions for every repository you create. You can also see a list of repositories, created by others, for which you have been granted access. Finally, you can give access rights also to LDAP groups.

The web interface

The address of the web interface is:

https://svn.scientificnet.org/gitsvn

After login, you will see three lists:

  • The list of repositories you created
  • The list of repositories created by others, for which you have been granted access (at user level)
  • The list of repositories created by others, for which you have been granted access (at group level)

Every user can only administer the repositories she/he has created.

Every repository resides in the directory of the user who is responsible for it, that is, its creator/owner.

The general structure of the repositories is:

  • /repositories/svn/username/repositoryname
  • /repositories/git/username/repositoryname

Therefore, the addresses for checking out (SVN) or cloning (GIT) are:

Creation of a repository

You can create an SVN/GIT repository by filling the New repository field, selecting the type of repository you want to create (SVN or GIT), and clicking on Create.

The repository is created immediately but you have to wait a minute for the Apache2 server to restart in order to have it working.

Authorizations

After the creation of the repository you can authorize users or groups to access it in read only mode or in read/write mode.

This is done by clicking the Authorize button corresponding to the repository for which you want to give authorizations.

The authorization page allows you to search for LDAP users/groups. If you search for a user, the result page will show the users matching your search criteria and also useful information about them, such as the groups of which they are part. If you search for a group, the result page will show the groups matching your search criteria and also the users belonging to each group. You can navigate through users and groups by clicking the links. When you have found the user/group you were searching for, you can edit the authorizations for that user/group.

For SVN, the authorization can be given for directories. If you want to grant access to the entire SVN repository, you give authorizations for the “/” directory. You can give many authorizations to each user, one for each directory of the repository. The authorizations may differ on a directory base (read only or read and write).

2 users/groups are AUTOMATICALLY given read/write access to each newly created repository:
  • the creator/owner of the repository
  • the csadmin group

You cannot delete or otherwise modify those 2 authorizations, and there is no need to add authorization for the creator/owner.

Re-assignment of ownership

After creating a repository, you can re-assign it to another user. The repository will be moved into the directory of the new owner. Please use this funtion carefully. You will lose ownership of the repository and it will no longer be shown in the list of your repositories.

The URL of the repository, to be used for checking it out, will also reflect the change.

For example, if user original_owner creates a repository called my_repository, it will have this URL:

After re-assignment to user new_owner, it will have this URL:

In order to re-assign one of your repositories, click on the Re-assign button corresponding to it, select the user who will become the new owner and click Re-assign. You will notice that the repository no longer appears in the list of the repositories owned by you.

/var/www/wiki.inf.unibz.it/data/pages/public/svn-git_web_based_administration.txt · Last modified: 2014/02/13 11:17 by ccumer
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0