monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] A better name for "context"


From: Jerome Fisher
Subject: Re: [Monotone-devel] A better name for "context"
Date: Wed, 23 Jun 2004 12:58:08 +0200
User-agent: Mozilla Thunderbird 0.7 (Windows/20040616)

Nathaniel Smith wrote:

Ideally we should have a name that's short, and concrete, and rolls
off the tongue -- one that is clear and unambiguous.  A little bit
quirky is okay; if it's quirky then it will become a name, not just a
description, and a name's what we want in order to make the concept
concrete in people's heads.

I agree with this. Failing to find a word that evokes the entire concept
of a "context", it's perhaps more useful to use a word that's surprising
enough that people won't make false assumptions about its meaning.

Just to remind people -- the thing we're trying to find a name for is
what's previously been called a "context".  This is a new database
entity, different from the ones that currently exist in monotone; it
encapsulates both a manifest its ancestry information in one object.
Internally there will still be manifests, but from the user's point of
view, "contexts" will replace manifests; everywhere you put in a
manifest id today you will put in a "context" id tomorrow.

To expand on that a bit, a context defines:
- The context(s) superceded by this context, i.e. the ancestor(s).
- The changes that have been made to each ancestor.
- The new tree state (by reference to a manifest).

- "version", "revision"

 This is traditional (it's what, e.g., CVS and Subversion call the
 analogous thing, I guess Arch too), but I don't like it, because if
 I say "what version/revision are you using?", you can't tell whether
 I mean the VCS version or the software release version.  (This has
 presumably been less of a problem in the past, since VCS versions
have traditionally been pretty useless to ask about...)

BitKeeper calls this a "changeset".
I think that all three terms are muddy with over-use.

- "treestate"

Kinda ambiguous with "manifest", maybe, dunno.

A "tree state" is exactly what a manifest describes, so I don't think
that term should be used for contexts.

- "node"

 A very generic term (there are _lots_ of things that get called
nodes), but nice and monosyllabic and concrete.

I have the same objection (that it's so generic as to carry little
meaning by itself), but since a context is the "most important" type of
node in monotone, it wouldn't be too bad a choice.

- "stratum", "sherd"

I don't really like "stratum", because to me that would better describe
multiple contexts at the same level of development.

I'm not really keen on "sherd" (or "shard"), due to the strong
connotations of being part of a complete whole. You could consider the
entire ancestry graph to be a "whole", I suppose, but it's not one
that's complete; it's (theoretically) ever-expanding.

Has using "artifact" itself already been discussed?

- "situation"
- "island"

"island", for me, has strong connotations of standing alone. That
doesn't apply to contexts (which are based on other contexts).
I can't think of any objections to "situation".

Some additional suggestions from the top of my head, in no particular order:

- "Heir"
- "Legatee"
- "Successor"
- "Descendant"
- "Usurper"
- "Progeny"
- "Progeniture"
- "Step"

Most of these I can think of objections to myself, but perhaps
additional input will help someone to think of the perfect word.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]