Subject: Re: branch description

From: Jakub Narebski <[email-masked]>
Date: Tue, 22 Apr 2008 11:59:16 -0700 (PDT)

Michael Dressel <[email-masked]> writes:

> On Friday 18 April 2008, Jakub Narebski wrote:

> > Let me sum up here proposals where to put branch description:
> >
> > [...]
> 
> what's the opinion of having a new branch object? Actually the tag
> object probably already does the job? This would spoil the elegant
> light weight current branch references. But tags are not that heavy.
> 
> In this approach the tags would not reference commits but tags. And
> tags have annotation. The difference to the normal tags would be that
> these tags are referenced from refs/heads/<branch> instead of
> refs/tags.
> 
> I have no clue how involved this change would become and if the
> benefit would justify the effort. I guess using proper objects for
> branches would only be justified if additional advantages could be
> achieved.

This won't work.  With described (annotated) branches, there are two
pieces of data associated with a branch:
 * commit it points to (branch head)
 * description of a branch

Branch head changes frequently (commit, reset, bisect, rebase), while
description should change rarely.  Those two pieces of data are
independent.  Tag object would unnecessary join/fuse those two
together.

Also, for exach commit on a branch, or for each moving of branch ref
(reset, amend, bisect), you would have to create tag object, which
would accumulate only to be garbage collected some time in the
future...

-- 
Jakub Narebski
Poland
ShadeHawk on #git