SCM-Manager Plugins Part 7: pathwp and branchwp
If you want to restrict the write access to parts of your repositories, SCM-Manager offers you two useful plugins: scm-branchwp-plugin and scm-pathwp-plugin. Both enable you to manage write access to your repositories in more detail, either by paths or by branches.
Depending on your intention on restricting write access to your repositories, it is useful to use one of those two plugins. After the installation and the restart of SCM-Manager, the plugins are ready to use and can be activated for each repository.
After enabling the plugins for a repository, initially no user (exept administrators and repository owner) has write access. By adding permissions to the whitelists of the plugins, the write access can be “restored”.
The pathwp plugin can be used for all three repository types of SCM-Manager (Git, Mercurial and Subversion).
After enabling the plugin write permissions to paths of the repository can be granted. In this example the user “capella” can edit the demo.java file, ”arrakis” has write access to the whole repository and “bellatrix” can write to the whole trunk path.
The branchwp plugin is useful for Git and Mercurial repositories. SVN stores branches in different paths, therefore the functionality is completely covered by the scm-pathwp-plugin.
After the plugin was enabled for a repository, write permissions can be granted to users by providing the names of branches and the user names. In the example (image above) the user “arrakis” can write to the branch development, “capella” can write to feature1 and “bellatrix” to feature2. Permissions to all branches at once can be granted by using
The whitelists of the plugins that you can see in the images above, are an addition to the “Permissions” tab of each repository. Hence users only have write access to parts of a repository if they are listed in the “Permissions” tab as well as in the whitelist of the plugin. Therefore you firstly have to add users to the “Permissions” tab to generally grant them write permissions to a repository. After that you can define the sections where the users have write access. As usual for SCM-Manager you can grant permissions to single users or whole groups.
Both plugins help you to grant permissions on a more detailed level and can be used easily. Depending on the structure of your organization and of your repositories it can be useful to utilize one of them.
With kind regards, your SCM-Manager Support Team