Size: 567
Comment:
|
Size: 2435
Comment: Fixed typo
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
A changeset (sometimes abbreviated "cset") is an atomic collection of changes to files in a repository. The act of creating a change set is usually called a ["Commit"]. The information in a changeset may include | ''(for a short intro of the basic concepts of Mercurial, see UnderstandingMercurial)'' |
Line 5: | Line 5: |
* changes to the contents of the files * changes to file names or other external attributes (such as execute permissions) * information about who made the change (the "committer") and why ("comments") |
A '''changeset''' (sometimes abbreviated "cset") is an atomic collection of changes to files in a [[Repository|repository]]. It contains all recorded [[LocalModifications|local modfication]] that lead to a new [[Revision|revision]] of the repository. |
Line 9: | Line 7: |
A changeset is identified uniquely by a ChangeSetID. In a single repository, you can identify it using a RevisionNumber. | A changeset is identified uniquely by a [[ChangeSetID|changeset ID]]. In a single repository, you can identify it using a [[RevisionNumber|revision number]]. The act of creating a changeset is called a [[Commit|commit]] or checkin. The information in a changeset includes: * the [[Nodeid|nodeid]] of its [[Manifest|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|branch]] ("default", if omitted or not set) Each changeset has zero, one or two [[Parent|parent]] changesets. It has two parent changesets, if the commit was a [[Merge|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|head]] of a branch, it has one or more child changesets (it is then the parent of its child changesets). The [[WorkingDirectory|working directory]] can be [[Update|updated]] to any commited 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 [[NamedBranches|named]]. All changesets of a repository are stored in the [[Changelog|changelog]]. Here's what the internal representation of a changeset looks like: {{{ $ hg debugdata .hg/00changelog.d 1208 1102691ceab8c8f278edecd80f2e3916090082dd <- the corresponding manifest nodeid mpm@selenic.com <- the committer 1126146623 25200 <- the date, in seconds since the epoch, and seconds offset from UTC mercurial/commands.py <- the list of changed files, followed by the commit message Clean up local clone file list We now use an explicit list of files to copy during clone so that we don't copy anything we shouldn't. }}} See also: [[ChangeSetComments]], [[Design]] ---- CategoryGlossary |
Changeset
(for a short intro of the basic concepts of Mercurial, see UnderstandingMercurial)
A changeset (sometimes abbreviated "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. The information in a changeset includes:
- 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 commited 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.
Here's what the internal representation of a changeset looks like:
$ hg debugdata .hg/00changelog.d 1208 1102691ceab8c8f278edecd80f2e3916090082dd <- the corresponding manifest nodeid mpm@selenic.com <- the committer 1126146623 25200 <- the date, in seconds since the epoch, and seconds offset from UTC mercurial/commands.py <- the list of changed files, followed by the commit message Clean up local clone file list We now use an explicit list of files to copy during clone so that we don't copy anything we shouldn't.
See also: ChangeSetComments, Design