view help/a-04.html @ 599:538b6ae5c272

Merge
author Chris Cannam
date Tue, 24 Apr 2012 16:56:29 +0100
parents 21aa41b62c3a
children
line wrap: on
line source
<link rel="stylesheet" type="text/css" href="help.css"/>


<h2>What is a repository?</h2>

<p>When you use a version control system to keep track of your changes to
a set of files, there are two different concepts you're dealing with:
a <i>working copy</i> and a <i>repository</i>.</p>

<p>A <i>working copy</i> is just a folder with your project's files in it.  It
contains the versions of the files that you are working with now.
<ul><li>EasyMercurial's &ldquo;My Work&rdquo; tab shows you which files you have been working on in your current working copy.</li></ul></p>

<p>A <i>repository</i> is a record of the entire history of your project. When
change something in the working copy, you can then commit it to the
repository and your change gets added to the history.
<ul><li>EasyMercurial's &ldquo;History&rdquo; tab shows you the changes that have been committed to your project's history in its repository.</li></ul></p>

<p>You can also go back and grab an older version from the repository if
you find you need it.  (If you do this, then the working copy will be
updated so as to contain that older version rather than the most
recent one.)</p>

<p>Older centralised version control systems use a separate database for
the repository.  But with a distributed version control system such as
Mercurial, the repository &ndash; the entire history of your project files
&ndash; is stowed into a special folder inside the working copy on your
hard drive.  Every change you commit gets added to the history in that
hidden folder. (The history is compressed, so it doesn't take as much
space as you might imagine.)</p>

<p>The term <i>remote repository</i> simply refers to a repository related to
your local one, but stored on another computer somewhere else.  Often
this may be a &ldquo;master copy&rdquo; of your project stored on a server
elsewhere, which you and your collaborators can use to keep up with
each other's work, or which you can use to make your work public, or
simply use as a private backup.</p>