Описание тега changeset
A changeset (sometimes referred to as "patch" or abbreviated to "cset") is an atomic collection of changes to files in a repository. It contains all recorded local modfication that lead to a new revision of the repository.
A changeset is identified uniquely by a changeset ID. In a single repository, you can identify it using a revision number.
The act of creating a changeset is called a commit or checkin. A changeset includes the actual changes to the files and some meta information. The meta information in a changeset includes:
- the nodeid of its manifest
- the list of changed files
- information about who made the change (the "committer"), why ("comments") and when (date/time, timezone)
- the name of the branch ("default", if omitted or not set)
Each changeset has zero, one or two parent changesets. It has two parent changesets if the commit was a merge. It has no parent if the changeset is a root in the repository. There may be multiple roots in a repository (normally, there is only one), each representing the start of a branch.
If a changeset is not the head of a branch, it has one or more child changesets (it is then the parent of its child changesets).
The working directory can be updated to any committed changeset of the repository, which then becomes the parent of the working directory.
"Updating" back to a changeset which already has a child, changing files and then committing creates a new child changeset, thus starting a new branch. Branches can be named.
All changesets of a repository are stored in the changelog.