Subject: Re: Why aren't tag refs namespaced?

From: Junio C Hamano <[email-masked]>
Date: Thu, 26 Apr 2012 12:24:22 -0700

Nathan Gray <[email-masked]> writes:

> So why is it that tag refs don't follow this model?

Because the assumed development model for "people work inside their
private world (i.e. "branch"), but integration happens in common
namespace (i.e. somebody eventually pushes to "master branch" of the
repository that every project participant considers authoritative) and
the end product of the project is tagged there for everybody's
consumption.  When something is called "version 1.0", it only invites
confusion if _my_ Git version 1.0 is different from _your_ Git version
1.0, and it makes no sense for tags used in this manner not to be in a
global single namespace.  People need to qualify such "version 1.0" as
"Junio's version 1.0" vs "Nathan's version 1.0" if they want to avoid
confusion anyway, and at that point you would not be talking about
refs/tags/v1.0, but refs/tags/jc/v1.0 vs refs/tags/ng/v1.0 or something.

Other workflows that use private tags are possible and they might
benefit from having separate namespaces; it is just that they are not
the workflow Git was originally designed to support.