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".