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

Re: Vcs-* and Other Fields



Roger:

I'm happy to see everyone discussing this, and ways to future proof
the idea, though I suppose dpkg will need to continue supporting the
old Vcs-* style tags in any case, at least for some transitional
period, since they have become a bit of an ad-hoc standard. I'd like
to see them deprecated in favour of something similar to the
arrangements you and Bill Allombert have mentioned.

On Wed, Jun 24, 2009 at 8:50 AM, Roger Leigh<rleigh@codelibre.net> wrote:
> 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.
Agreed.
>
> 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
This idea seems pretty neat. However, I'm not sure how this sort of
arrangement might work in the case where there are multiple
repositories. I think it's best to allow users to specify the full URI
strings (so that branches don't have to be in the same place).

This type of field might be useful for holding information about the
upstream Vcs, which would most likely have a different URI than the
one for the Debian package maintained by somebody else.
>
> 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.
>
>
> --
> To UNSUBSCRIBE, email to debian-policy-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>

Maybe if the fields you mention all support URIs and continuations, like:

Vcs: git:http://....
 svn:http://...
(It would also be nice of the prefix was optional in the case where
you are using svn:// or git:// -- ie the built-in protocols)
 svn://svn.debian.org/...

As well the Vcs list should be ordered in the priority the version
control systems are used in practice by developers, perhaps if they
use git-svn to synchronize the two.

On the other hand I'm not sure if the Vcs-* fields really need to
track anything outside Debian, since we just grab tarballs from the
upstream Homepage anyway, and that's the purpose of debian/watch.

Anyway, I think a way to specify multiple version control systems
might be nice, though I'm not sure of its necessity in practise.

What is important for all of this, is that we have started a dialogue,
and I'm quite pleased we have done so.

Cheers,

Jonathan


Reply to: