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

Re: Vcs-* and Other Fields



On Wed, Jun 24, 2009 at 01:44:10PM +0200, Bill Allombert wrote:
> On Wed, Jun 24, 2009 at 04:22:48PM +1000, Ben Finney wrote:
> > Jonathan Yu <jonathan.i.yu@gmail.com> writes:
> > 
> > > I don't really think that each version control system should have its
> > > own field, like Vcs-Mtn, Vcs-Svn, Vcs-Git etc, because it's simply not
> > > very future proof in my opinion.
> > 
> > What's the alternative?
> 
> This one is easy:
> 
> Vcs: git:http://git.debian.org/...
> Vcs: svn:http://svn.debian.org/...
> 
> (This means that dpkg does not have to be updated for each new VCS).

This, or some similar scheme, would certainly be more future proof.

One additional thing I'd like to raise is the need for additional
metadata to make better use of the VCS repository:

- upstream branch
- debian branch
- possibly additional branches e.g. upstream stable/development
  branches, and also debian stable/unstable/experimental branches

One current annoyance with tools such as git-buildpackage is the
need to manually specify options such as the upstream and debian
branches unless you stick to the defaults, as well as if tools
such as pristine-tar are being used.  If this information was
present in the control file, and I feel this is a natural place
for such information, this would make package maintenance and
building within a VCS rather less cumbersome, and could also
allow for seamless integration with e.g. dpkg-buildpackage
rather than requiring a separate tool for each VCS out there,
at least for building.

Maybe a set of Vcs*: tags would allow such uses?

Vcs: git
Vcs-Uri: git://git.debian.org/foo/bar
Vcs-Debian: debian/unstable
Vcs-Upstream: stable
Vcs-Upstream-Stable: stable
Vcs-Upstream-Unstable: master

There may be better ways of representing things, these are just
examples of the information which would be useful.  Regular
expressions to match tags used for upstream and debian releases
would also be useful.

There are other potential uses for having this additional
information: automated rebasing of patches against new
releases, and against the upstream development branch for
forwarding upstream.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.


Reply to: