mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
Some additional changes to existing wording
This commit is contained in:
parent
44c7eaad24
commit
f8a96c4889
@ -6,26 +6,17 @@ contributors:
|
|||||||
filename: LearnHG.txt
|
filename: LearnHG.txt
|
||||||
---
|
---
|
||||||
|
|
||||||
Mercurial is a free, distributed source control management tool. It offers you
|
Mercurial is a free, distributed source control management tool. It offers
|
||||||
the power to efficiently handle projects of any size while using an intuitive
|
you the power to efficiently handle projects of any size while using an
|
||||||
interface. It is easy to use and hard to break, making it ideal for anyone
|
intuitive interface. It is easy to use and hard to break, making it ideal for
|
||||||
working with versioned files.
|
anyone working with versioned files.
|
||||||
|
|
||||||
## Versioning Concepts
|
## Versioning Concepts
|
||||||
|
|
||||||
### What is version control?
|
### What is version control?
|
||||||
|
|
||||||
Version control is a system that records changes to a file(s), over time.
|
Version control is a system that keeps track fo changes to a set of file(s)
|
||||||
|
and/or directorie(s) over time.
|
||||||
### Centralized Versioning VS Distributed Versioning
|
|
||||||
|
|
||||||
|
|
||||||
* Centralized version control focuses on synchronizing, tracking, and backing
|
|
||||||
up files.
|
|
||||||
* Distributed version control focuses on sharing changes. Every change has a
|
|
||||||
unique id.
|
|
||||||
* Distributed systems have no defined structure. You could easily have a SVN
|
|
||||||
style, centralized system, with mercurial.
|
|
||||||
|
|
||||||
|
|
||||||
### Why Use Mercurial
|
### Why Use Mercurial
|
||||||
@ -40,27 +31,25 @@ style, centralized system, with mercurial.
|
|||||||
|
|
||||||
#### Distributed Architecture
|
#### Distributed Architecture
|
||||||
|
|
||||||
Traditional version control systems such as Subversion are typical
|
Traditionally version control systems such as CVS and Subversion are a client server
|
||||||
client-server architectures with a central server to store the revisions of a
|
architecture with a central server to store the revsion history of a project. Mercurial however
|
||||||
project. In contrast, Mercurial is truly distributed, giving each developer a
|
is a truly distributed architecture, giving each devloper a full local copy of the entire
|
||||||
local copy of the entire development history. This way it works independent of
|
development history. It works independently of a central server.
|
||||||
network access or a central server. Committing, branching and merging are fast
|
|
||||||
and cheap.
|
|
||||||
|
|
||||||
|
|
||||||
#### Fast
|
#### Fast
|
||||||
|
|
||||||
Mercurial's implementation and data structures are designed to be fast. You can
|
Mercurial is implemented to be fast. You are able to generate diffs between
|
||||||
generate diffs between revisions, or jump back in time within seconds.
|
revsions, and switch between tags and branches with little time and effort.
|
||||||
Therefore Mercurial is perfectly suitable for large projects such as OpenJDK
|
Mercurial is used by large projects such as OpenJDK
|
||||||
([hg](http://hg.openjdk.java.net/jdk7/jdk7)) or NetBeans
|
([hg](http://hg.openjdk.java.net/jdk7/jdk7)) and NetBeans
|
||||||
([hg](http://hg.netbeans.org/)).
|
([hg](http://hg.netbeans.org/)).
|
||||||
|
|
||||||
#### Platform Independent
|
#### Platform Independent
|
||||||
|
|
||||||
Mercurial was written with platform independence in mind. Therefore most of
|
Mercurial was written to be highly platform independent. Much of Mercurial is
|
||||||
Mercurial is written in Python, with a small part in portable C for performance
|
written in Python, with small performance critical parts written in portable
|
||||||
reasons. As a result, binary releases are available on all major platforms.
|
C. Binary releases are available for all major platforms.
|
||||||
|
|
||||||
|
|
||||||
#### Extensible
|
#### Extensible
|
||||||
@ -75,11 +64,10 @@ commands, add new commands and access all the core functions of Mercurial.
|
|||||||
|
|
||||||
#### Easy to Use
|
#### Easy to Use
|
||||||
|
|
||||||
Mercurial sports a consistent command set in which most subversion users feel
|
The Mercurial command set is consistent with what subversion users would
|
||||||
right at home. Potentially dangerous actions are available via extensions you
|
expect, so they are likely to feel right at home. Most dangerous actions
|
||||||
need to enable, so the basic interface is easy to use, easy to learn and hard
|
are part of extensions that need to be enabled to be used.
|
||||||
to break. The [Quick Start](https://www.mercurial-scm.org/quickstart) should
|
|
||||||
get you going in a just few minutes.
|
|
||||||
|
|
||||||
#### Open Source
|
#### Open Source
|
||||||
|
|
||||||
@ -92,18 +80,18 @@ version.
|
|||||||
|
|
||||||
| Term | Definition |
|
| Term | Definition |
|
||||||
| ------------- | ---------------------------------- |
|
| ------------- | ---------------------------------- |
|
||||||
| Repository | Collection of revisions |
|
| Repository | A repository is a collection of revisions |
|
||||||
| hgrc | A file which stores defaults for a repository. Global is ~/.hgrc and local is .hgrc inside the repository |
|
| hgrc | A configuration file which stores the defaults for a repository. |
|
||||||
| revision | Committed changeset, by REV number |
|
| revision | A committed changeset: has a REV number |
|
||||||
| changeset | Set of work changes saved as diffs |
|
| changeset | Set of changes saved as diffs |
|
||||||
| diff | Changes between files |
|
| diff | Changes between file(s) |
|
||||||
| tag | Name for a specific revision |
|
| tag | A named named revision |
|
||||||
| parent(s) | Immediate ancestor(s) of revision or work |
|
| parent(s) | Immediate ancestor(s) of a revison |
|
||||||
| branch | Child of a revision |
|
| branch | A child of a revision |
|
||||||
| head | A head is a changeset with no child changesets |
|
| head | A head is a changeset with no child changesets |
|
||||||
| merge | The process of merging two HEADS |
|
| merge | The process of merging two HEADS |
|
||||||
| tip | Latest revision in any branch |
|
| tip | The latest revision in any branch |
|
||||||
| patch | All diffs between two revisions |
|
| patch | All of the diffs between two revisions |
|
||||||
| bundle | Patch with permissions and rename support |
|
| bundle | Patch with permissions and rename support |
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user