Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Composition Setup

Image RemovedImage Added

Section
Column
width30%
Wiki Markup

h3. Rice Repository Groups
* [Campus Repositories]
* [IT Repositories]
* [HPC Repositories]

h3. Statistics

|Number of Repository groups| {sql:dataSource=wiki|output=wiki|table=false}select count(*) from owl_repository_group{sql} |
|Number of repositories| {sql:dataSource=wiki|output=wiki|table=false}select count(*) from owl_repository where repo_status <> 'deleted'{sql} |
|Number of private repositories | {sql:dataSource=wiki|output=wiki|table=false}select count(*) from owl_repository where repo_public = false and repo_status <> 'deleted'{sql} |
|Number of public repositories | {sql:dataSource=wiki|output=wiki|table=false}select count(*) from owl_repository where repo_public = true and repo_status <> 'deleted'{sql} |
|Largest repository| {sql:dataSource=wiki|output=wiki|table=false}select repo_group_code || '.' || repo_name as name from owl_repository where repo_status <> 'deleted' order by repo_size desc limit 1{sql}|
|Most active repository| {sql:dataSource=wiki|output=wiki|table=false}select distinct d.repo_group_code || '.' || d.repo_name as name from owl_repository_data d JOIN owl_repository r ON d.repo_group_code = r.repo_group_code and d.repo_name = r.repo_name where r.repo_status <> 'deleted' and (d.repo_group_code, d.repo_name, d.repo_revision) in (select repo_group_code, repo_name, max(repo_revision) from owl_repository_data where repo_name <> 'subversion' and repo_group_code <> 'it.svn' group by repo_group_code, repo_name order by max desc limit 1);{sql} |
|Number of Repositories missing an access_file| {sql:dataSource=wiki|output=wiki|table=false}select count(*) from owl_repository where repo_access_file_exists = false and repo_group_code <> 'it.svn' and repo_name <> 'subversion' and repo_status <> 'deleted'{sql} |

Rice Subversion Repository Hooks

  • What are repository hooks?
  • Pre-Commit Hooks
  • Post-Commit Hooks
Column
width40%

What is a Subversion Repository Hook?

A hook is a program triggered by some repository event, such as the creation of a new revision or the modification of an unversioned property. Some hooks (the so-called "pre hooks") run in advance of a repository operation and provide a means by which to both report what is about to happen and to prevent it from happening at all. Other hooks (the "post hooks") run after the completion of a repository event, and are useful for performing tasks that examine—but don't modify—the repository. Each hook is handed enough information to tell what that event is (or was), the specific repository changes proposed (or completed), and the username of the person who triggered the event.

Version Control with Subversion by O'Reilly Media(c)

What is a Pre-Commit Hook?

The pre-commit hook is run just before a commit transaction is promoted to a new revision. Typically, this hook is used to protect against commits that are disallowed due to content or location (for example, your site might require that all commits to a certain branch include a ticket number from the bug tracker, or that the incoming log message is non-empty).

Column
width40%

What is Subversion?

Subversion is a free/open-source version control system. That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data, or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of "time machine".

Version Control with Subversion by O'Reilly Media(c)

What is a

Repository group?

Post-Commit Hook?

The post-commit hook is run after the transaction is committed, and a new revision created. Most people use this hook to send out descriptive emails about the commit or to notify some other tool (such as an issue tracker) that a commit has happened. Some configurations also use this hook to trigger backup processes.

Version Control with Subversion by O'Reilly Media(c)

A repository group is a collection of repositories that share common characteristics, like backup policy, retention policy, specialized hooks. Each repository group also has its own name space for repository names.

Can I have a Repository group for my group?

Good question. Generally, we'd like to restrict groups to only major entities who will have many repositories. This means that in most cases this will be limited to departments, if they have a need for it. Creating a repository group is a fairly major process and requires that the subversion servers be taken off line. Due to this requirement, groups will only be created at specific points in the year to avoid impacting those using the server.

Column
width30%

Subversion Maintenance Schedule

Regular maintenance
  • Monday mornings from 8am to 9am
Next Repository group creation
  • July 27th 8am - 8pm.

...