annotate help/topics/04.txt @ 518:5c846f3c9244

Fix inaccurate and frightening text
author Chris Cannam
date Thu, 20 Oct 2011 15:39:46 +0100
parents 41a156d439d0
children
rev   line source
Chris@494 1 {Terminology}
Chris@494 2
Chris@494 3 What is a repository?
Chris@494 4
Chris@494 5 When you use a version control system to keep track of your changes to
Chris@494 6 a set of files, there are two different concepts you're dealing with:
Chris@494 7 a _working copy_ and a _repository_.
Chris@494 8
Chris@494 9 A _working copy_ is just a folder with your project's files in it. It
Chris@494 10 contains the versions of the files that you are working with now.
Chris@494 11
Chris@494 12 * EasyMercurial's "My Work" tab shows you which files you have been working on in your current working copy.
Chris@494 13
Chris@494 14 A _repository_ is a record of the entire history of your project. When
Chris@494 15 change something in the working copy, you can then commit it to the
Chris@494 16 repository and your change gets added to the history.
Chris@494 17
Chris@494 18 * EasyMercurial's "History" tab shows you the changes that have been committed to your project's history in its repository.
Chris@494 19
Chris@494 20 You can also go back and grab an older version from the repository if
Chris@494 21 you find you need it. (If you do this, then the working copy will be
Chris@494 22 updated so as to contain that older version rather than the most
Chris@494 23 recent one.)
Chris@494 24
Chris@494 25 Older centralised version control systems use a separate database for
Chris@494 26 the repository. But with a distributed version control system such as
Chris@494 27 Mercurial, the repository -- the entire history of your project files
Chris@494 28 -- is stowed into a special folder inside the working copy on your
Chris@494 29 hard drive. Every change you commit gets added to the history in that
Chris@494 30 hidden folder. (The history is compressed, so it doesn't take as much
Chris@494 31 space as you might imagine.)
Chris@494 32
Chris@494 33 The term _remote repository_ simply refers to a repository related to
Chris@494 34 your local one, but stored on another computer somewhere else. Often
Chris@494 35 this may be a "master copy" of your project stored on a server
Chris@494 36 elsewhere, which you and your collaborators can use to keep up with
Chris@494 37 each other's work, or which you can use to make your work public, or
Chris@494 38 simply use as a private backup.
Chris@494 39