•  
     
    story #10141 centrally control svn repositories "Commit settings"
Summary
site administrator
centrally control svn repositories "Commit settings"

It ease management of multiple svn repositories

Functional acceptance criteria

In SVN administration

  • Introduce a new screen / panel to manage repositories default settings (aka "Default repository")
    • Under the hood there is a "_admin" repository created for that.
    • This repository is only writable by svn administrators (⚠️ Be careful with .SvnAccessFile and default access control, they need to be handled as a specific case).
  • This new panel aims to handle all repo settings at then end (email notif, access control, etc) but for a start only "Commit rules" is available
  • In "Commit rules" section:
    • there are the 2 checkbox "Force every commit to include a reference", "Allow commit message changes". They can be checked or not and saved
    • When there is a change, it's logged in "Project History" audit trail
  • When "Default repository" is activated, all repositories created afterward are controlled by the project wide repository
    • This can be activated / desactivated at will. Changes are logged in "Project History" audit trail
  • When the project is used as a template, the settings (use of default repository and commit rules) are inherited.
    • Note: it's not possible to "control" across projects
  • This configuration is taken into account in XML import / export (for svn service config)

At SVN repository creation

  • When "Default repository" is used:
    • the values set for "Commit settings" in global config are duplicated
    • there is flag associated to the repository to mark that it is "connected" to default config

In SVN repository settings:

  • When the repository is "Connected to Default Repository"
    • There is a new tab "Global config" that allow to "Disconnect" from Default Repository
      • When svn administrator change this setting, it's recored in Project history audit trail
      • It's not possible to "Re-connect" again.
    • For "Commit rules" tab
      • The checkbox are displayed "grayed" with the values set by global configuration
      • There is no ways to change the settings
    • When svn administrator "Disconnect" the repository from global configuration
      • The "Commit rules" are now modifiable
      • If there are any changes, the changes are recorded in Project history audit trail

When SVN administrators browse the list of project repositories (service front page) there is:

  • A direct access to repositories settings
  • A way to distinguish repositories that are "connected" and those that are not

Technical aspects

  • The '_admin' repo is created (even on on filesystem) but only accessible in readonly by svn administrators
  • There is a refacto to introduce the "AdminRepository" object
  • ⚠️ Be careful ⚠️
    • All repository settings doesn't apply to _admin repository itself. For instance, if "Reference is mandatory commit rule" is set on _admin, the commits on _admin repository itself doesn't require a reference !
    • The "SvnAccessFile" needs to be treated also with a special case for all user group management things like
      • Rename of groups
      • Add / remove of members
      • Ugroup that become empty
      • ... (see Tuleap Release Validation)
    • There are 2 management of SvnAccessFile
      • The one for the admin repo itself (to grant access for svn admins)
      • The one for inheritance
    • For both of them the management of user groups must be taken into account
Empty
Empty
Status
Empty
Canceled
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#10141
Manuel Vacelet (vaceletm)
2017-09-08 10:58
2017-04-12 18:27
4547

References
Referencing story #10141

Follow-ups

User avatar

Canceled in favor of a complete API rest for svn administration


  • Status changed from Ready (stalled) to Canceled
  • Category set to
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • So that
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Permissions set to