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

Bug#654958: debian-policy: Document VCS fields.



Steve Langasek <vorlon@debian.org> writes:

> I object to policy specifying any Vcs-* fields in a way that does not
> uniquely identify a Debian packaging branch.  Running debcheckout for a
> package only to then have to guess at random which of 20 branches is the
> one containing the packaging I care about[1] is nonsense, and I don't
> think this has any business being in policy in the absence of sensible
> semantics.  The field should in all cases point to the right branch, not
> just the right repository, and in the absence of an acceptable
> per-branch URI syntax, it ought not be standardized at all.

While I'm sympathetic to this position, the concern that I have with going
this route is that "what branch I care about" is never going to be a
clearly-defined concept.  Is it the branch for unstable?  The latest
packaging, which may only be in experimental, or may not have been
uploaded at all?  Are you working on a stable update, in which case you
need another branch entirely?

This comes back to the basic problem that while putting this metadata in
the package is certainly convenient and made the metadata available
quickly, it has some inherent limitations since the VCS information is not
a property of the package itself.  Rather, it's a property of how the
package is being maintained, which can change without changing the
package.

Given the fundamental issue that there are multiple things you may want
(the latest stuff, the last uploaded stuff, the unstable stuff, even the
stable stuff), I don't see how we'll ever, for any VCS (not just Git), get
any better than "here's the repository and you may have to do additional
work to figure out the right branch" in the VCS-* headers.  As Charles
points out, you need an explanation for humans, not computers, in some
other location, such as README.source.

What we *can* do is identify the repository, so I think we should
seriously consider standardizing that and leave the explanation of the
branches to README.source.

> Now, given that git seems to be the only widespread VCS with theis
> problem, I wouldn't object to codifying Vcs- fields for the others in
> the meantime; but some people might find it equally unpalatable to
> specify fields for everything except git.

CVS has the same issue, not that it's widely used any more.  But even
Subversion has the broader problem that it's not at all clear which branch
to designate.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: