Phillip Wood <> writes:

> It would certainly be nice to be able to share branch descriptions so
> that if I clone a repository I can get a bit more detail about the ideas
> behind each branch. Shared descriptions could be displayed in web uis. I

One thing to note is that there is no universal identity for
branches across repositoryes that push and pull from each other.  My
'refs/heads/master' may be copied to your 'refs/remotes/origin/master'
so in that sense, any "branch property" I give to my 'master' branch
(including the 'branch.master.description') could be copied to its
corresponding "remote-tracking branch property" you have, but that
is the easy part.

It is quite hard to figure out how these branch properties you
acquired from me on my branches affect properties of _your_ own
branches that build on top of the branches you obtained from me.

Perhaps a narrow special case of two or more people collaborating on
a single topic branch with the same focus would be helped by blindly
sharing the "branch property" across the local and remote-tracking
branches that share the same name.  I.e. the shared repository may
have 'optimize-frotz' topic branch, you and your friend both copy to
your 'refs/remotes/origin/optimize-frotz' remote-tracking branch,
and these copies will share the same "branch properties" copied from
the shared repository.  Then if you and your friend both work on the
topic by "git checkout -b optimize-frotz origin/optimize-frotz",
perhaps your and your friend's optmize-frotz branch would inherit
the same "branch properties" copied from their upstream.  Because
all of the participants are focused on a rather narrow task of
"optimizing the frotz feature" on their branches that share the same
name, pretending as if these are "logically" the same branch, and
enforcing that by sharing the "branch properties", may make sense.

But for a generic branch like 'master', that arrangement would not
work well, I am afraid.  You may have N copies of the same project,
where the 'master' branch of each is used to work on separate topic.
The focus of the 'master' branch of the overall project would be
quite different from each of these copies you have, hence it is
likely that it would be inappropriate to share the task list and
stuff you would want to add to branch descriptions and branch
properties between the shared repository's 'master' and any of your
'master' in these N copies you have.


Reply via email to