The term "branch" is misleading (was: class 'intent' documentation)
Kevin Smith
yarcs at qualitycode.com
Tue Dec 27 14:12:14 GMT 2005
John Yates wrote:
>
> This crystallized for me my vague discomfort with the term "branch".
> To me branch suggests development that is subordinate to some trunk,
> a flavor of fork. It is a term that focuses on the relationship
> of some work to other work. The misleading connotations are
> especially jarring when starting a new project or when taking
> about the principal branch in a centralized development model.
I hit this conceptual speedbump when learning darcs. In that case, the
refrain that made it easy was "working directory equals branch equals
repository". Ohhhh. Strange, but straightforward once you think of it
that way.
For bzr, it won't be that simple when there are true multi-branch repos,
some of which won't have working directories. One way to justify the use
of "branch" would be to argue that everything is a branch of the empty
branch, which leads to the fun idea that all projects are related to
each other. (Insert religious note about unity here).
I think "line of development" is accurate and descriptive, but too long.
As you point out, shortening that to "line" causes confusion with lines
of code. I guess "lineage" could work. Other words from a thesaurus:
ancestry, train, progression, chain.
In the end, however, "branch" is used by all(?) the other decentralized
(distributed) SCM tools. Consistent terminology between tools is a good
thing, such as "repo" in place of "archive". Unless we find a perfect
word that other projects would also be willing to adopt, I think
"branch" is the best choice.
It's just important to make the documentation as clear as possible.
Kevin
More information about the bazaar
mailing list