trying to clarify hg terminology -- working copy vs repository
Peter Arrenbrecht
peter.arrenbrecht at gmail.com
Sat Oct 10 11:05:54 UTC 2009
On Sat, Oct 10, 2009 at 11:12 AM, Dirkjan Ochtman <dirkjan at ochtman.nl> wrote:
> On Sat, Oct 10, 2009 at 10:59, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
>> as a contrasting example, consider "hg tip". as i read it, a repo
>> has no concept of a "tip" -- that's strictly a transient concept
>> related to the current state of your working copy, right?
>
> Well, the 'tip' is really a property of your clone of the repository
> (but it doesn't have anything to do with the working copy). This leads
> me to wonder, what do you define as the working copy?
Since you want to be exact, you really have three different concepts /
scopes here:
* the changeset graph (DAG) and its changeset node ids plus actual
changeset data, which are global things, but need instantiation in a
concrete repository,
* one or more concrete repositories containing (part of) such a
graph, each with its tip and changeset revision numbers, which are
local to the repository (though they _might_ correspond to other
clones), and
* one (or more) working copies per repository, each with its actual
files, `hg parents`, and `hg status`.
(Aside: To have more than one working copy per repository, you have to
install something like the sharedrepo[1] extension, or use symlinks
for .hg/store/.)
-parren
[1] http://bitbucket.org/brendan/mercurial-extensions-sharedrepo/overview/
More information about the Mercurial
mailing list