This project is read-only.

Use Case 1 - Provide basic commands

The Objective

The hg command provides the following basic commands (available through hg command):

Command Description
add add the specified files on the next commit
annotate show changeset information by line for each file
clone make a copy of an existing repository
commit commit the specified files or all outstanding changes
diff diff repository (or selected files)
export dump the header and diffs for one or more changesets
forget forget the specified files on the next commit
init create a new repository in the given directory
log show revision history of entire repository or files
merge merge working directory with another revision
pull pull changes from the specified source
push push changes to the specified destination
remove remove the specified files on the next commit
serve export the repository via HTTP
status show changed files in the working directory
summary summarize working directory state
update update working directory


The objective of this use case is to provide to the end-user those functionalities to allow a basic usage of Mercurial through MSBuild.

The Analysis

The basic commands can be divided in three categories:
  • Action - The commands that update the state of a repository.
  • Create - The commands that create a new repository.
  • Information - The commands that provide about a repository,

Category Command Description State
Action merge merge working directory with another revision not planned
Action add add the specified files on the next commit
Action commit commit the specified files or all outstanding changes
Action forget forget the specified files on the next commit
Action pull pull changes from the specified source
Action push push changes to the specified destination
Action remove remove the specified files on the next commit
Action update update working directory
Creation clone make a copy of an existing repository
Creation init create a new repository in the given directory
Information diff diff repository (or selected files) not planned
Information annotate show changeset information by line for each file not planned
Information export dump the header and diffs for one or more changesets not planned
Information log show revision history of entire repository or files not planned
Information status show changed files in the working directory not planned
Information summary summarize working directory state partial
Special serve export the repository via HTTP not planned


Some commands will not be implemented as part of this use case:
  • serve, because it is a special command that should be used as part of a service process - not a build process,
  • merge, because the use of this command require user actions to resolve the conflicts,
  • All the Information commands because specific scenario are required to extract the useful information from those commands - as done for HgVersion.

Last edited Mar 20, 2010 at 11:58 AM by Faz, version 2

Comments

No comments yet.