Feature CREATE-REPOSITORY

Description and Priority

The issue managers (experienced and inexperienced) must be able to create a yaktrack repository and verify that it is in place. Once the repository is created, it should give the user some feedback as to capabilities, etc.

Stimulus/Response Sequences

CREATE-REPOSITORY.UC: Create a Repository

Description

The user (from the command line) invokes a new repository by the command yaktrack create-repository. The system checks for the existence of a repository in that directory, then creates the appropriate directory structure and copies any default files to the new repository. It then gives feedback on the state of the repository and its capabilities.

Requires

Write access in the current directory and the ability to create subdirectories
No repository exists in the current directory

Ensures

A correctly-installed basic repository
Feedback to the user

Frequency of use

Must be done once per repository

Normal Course

Table 4-5. Normal Course of Action

Actor ActionsSystem Actions
Enters target directory and types yaktrack create-repositoryChecks for write access
 if appropriate, creates yaktrack-repository subdirectory and subtree
 copies appropriate default files to that directory
 puts directory and all contents under configuration management
 prepares feedback; presents feedback.

Functional Requirements

CREATE-REPOSITORY.FR1. The system should be able to check in the current directory for the existence of a yaktrack-repository directory.

CREATE-REPOSITORY.FR2. The system should be able to create the yaktrack-repository directory and, beneath it, the yaktrack-options, templates, and awaiting-review subdirectories.

CREATE-REPOSITORY.FR3. The system should be able to find a default repository and copy its contents into the new repository

CREATE-REPOSITORY.FR4. The system should be able to check for write access to the current (or any) directory

CREATE-REPOSITORY.FR5. The system should gather data on the new repository and report it. Data should include the full path name of the root repository directory, and a recursive directory listing of the repository's contents

CREATE-REPOSITORY.FR6. The system should identify the configuration management system in use in the current directory. It should display this information in the feedback

CREATE-REPOSITORY.FR7. The system should place the contents of the new repository under the same configuration management used in the root directory. It should display success in the feedback

CREATE-REPOSITORY.FR8. The create-repository tool should gather feedback information in a last-feedback feature for display to the user, and display this information after the completion of the command