Bug#391023: XS-Vcs-field
Hi,
in bug #391023, this description of this field is given:
+ <tag><tt>XS-Vcs-*</tt>
+ <item>
+ (where <em>Vcs</em> is the acronym for <em>Version Control System</em>,
+ and <tt>*</tt> stands for one of the Vcs supported by the package
+ tracking system: <tt>bzr</tt>, <tt>cvs</tt>, <tt>darcs</tt>,
+ <tt>git</tt>, <tt>hg</tt>, <tt>svn</tt>, <tt>tla</tt>)
+ <p>
tla is wrong. The name of the protocol is arch; and tla and
baz are competing implementations of the standard.
+ Value of this field should be an URL pointing to where the repository of
+ the given package is available. The information is meant to be useful for
+ the final user of the package in case he is looking for the latest work
+ done on the package (e.g. for the patch fixing a bug tagged as
+ <tt>pending</tt> in the bug tracking system). The URL should be meaningful
+ for the given Vcs and should better be version agnostic. If possible, the
+ URL should point to a resource accessible to the final user and from which
+ the latest repository snapshot can be easily obtained.
+ </p>
I think this is a specification without adequate rationale and
does not specify the use cases it is trying to meet.
I can see two distinct requirements that users have:
a) Need to download the latest version
b) need to browse the latest code.
Both use cases seem to be equally important, and in my
informal survey, seem to be equally used. Indeed, going to
http://svn.debian.org/ and htttp://arch.debian.org/, we see that both
the use cases are met on the web page: there is a svn:// address, as
wells as a websvn pointer. Part of the confusion over the headers
emerges from the problem that we are trying to overload both tasks on
to one header.
I suggest that we specify tow headers: and SCM specific
header, XS-Vcs-<NAME> where name is one keyword from a specified list
(bzr, cvs, svn, darcs, git, hf, or arch), and XS-VCS-Browse, which is
a plain old HTTP URL.
,----[ Headers for the Flex package ]
| XS-VCS-Arch: http://people.debian.org/~srivasta/grab-flex
| XS-VCS-Browse: http://arch.debian.org/cgi-bin/archzoom.cgi/srivasta@debian.org--etch/flex?expand
`----
+ <p>
+ In the following example, an instance of the field for a Subversion
+ repository of the <package>vim</package> package is shown. Note how the
+ URL is in the <tt>svn://</tt> scheme (instead of <tt>svn+ssh://</tt>) and
+ how it points to the <file>trunk/</file> branch.
+ <example>
+ Source: vim
+ Section: editors
+ Priority: optional
+ <snip>
+ XS-Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim
+ </example>
+ </p>
+ </item>
Coming back to what it would take to fully specify sources in
an arch archive so that users can download the sources, I think that
the best thing to use would be to provide a URL for a grab file. The
grab file has a syntax:
,----
| Archive-Name: [the name of the archive]
| Archive-Location: [the location of the archive]
| Target-Revision: [PACKAGE|VERSION|REVISION to get]
| Target-Directory: [optional][The suggested directory to get into]
| Target-Config: [optional][A configuration to build upon grabbing]
`----
======================================================================
XS-VCS-Arch: http://people.debian.org/~srivasta/grab-flex
XS-VCS-Browse: http://arch.debian.org/cgi-bin/archzoom.cgi/srivasta@debian.org--etch/flex?expand
__> cat grab-flex
Archive-Name: srivasta@debian.org--etch
Archive-Location: http://arch.debian.org/arch/private/srivasta
Target-Revision: packages--debian--0.1
Target-Directory: manoj-packages
Target-Config: configs/flex/debian/flex-2.5.33-9
__> tla grab http://people.debian.org/~srivasta/grab-flex
Grabbing: srivasta@debian.org--etch/http://arch.debian.org/arch/private/srivasta
Source: http://arch.debian.org/arch/private/srivasta, Dest: manoj-packages
Config: configs/flex/debian/flex-2.5.33-9
* from revision library: srivasta@debian.org--etch/packages--debian--0.1--patch-
11
* ensuring library has srivasta@debian.org--etch/flex--devo--2.5.33--patch-4
* from revision library: srivasta@debian.org--etch/flex--devo--2.5.33--patch-4
* tree version set srivasta@debian.org--etch/flex--devo--2.5.33
* ensuring library has srivasta@debian.org--etch/debian-dir--flex--1.0--patch-29
* patching for this revision (srivasta@debian.org--etch/debian-dir--flex--1.0--p
atch-29)
* from revision library: srivasta@debian.org--etch/debian-dir--flex--1.0--patch-
29
* tree version set srivasta@debian.org--etch/debian-dir--flex--1.0
* ensuring library has srivasta@debian.org--etch/skeleton-make-rules--main--0.1-
-patch-14
* from revision library: srivasta@debian.org--etch/skeleton-make-rules--main--0.
1--patch-14
* tree version set srivasta@debian.org--etch/skeleton-make-rules--main--0.1
======================================================================
manoj
--
Sometimes a cigar is just a cigar. Sigmund Freud
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: