NAME

VCI::Abstract::History - The history of a Project, File, Directory, etc.

DESCRIPTION

Essentially, this represents all of the commits to a particular file, project, directory, or anything that can be committed.

METHODS

Accessors

All accessors are read-only.

commits

An arrayref of VCI::Abstract::Commit objects. This represents a series of commits to some particular item, such as a file, a directory, or an entire Project. It will always be in time order--earliest commits will be first, more recent commits will be last.

Note that depending on how the History was generated, and depending on the version-control system in use, what is listed in each commit may or may not represent the whole commit. That is, if this is the History of a File, each Commit might only contain information about that particular File, and not other Files or Directories that were committed at that time.

The most complete History possible will be generated by "history" in VCI::Abstract::Project.

project

What Project this History came from.

Constructors

In addition to new, we implement the following constructor(s):

union
Description

Given a list of History objects, returns an object that is a union of all of them. (This is useful for implementing "contents_history" in VCI::Abstract::FileContainer.)

Parameters

Takes the following named parameters, both of which are required:

histories

An arrayref of VCI::Abstract::History objects.

project

The VCI::Abstract::Project that the resulting History should be associated with.

Returns

A VCI::Abstract::History that has a union of all the commits in all of the supplied histories.

CLASS METHODS

Constructors

Usually you won't construct an instance of this class directly, but instead, ask for this History of a Project or Committable.

new

Takes all "Accessors" of this class as named parameters. The following fields are required: "commits" and "project".