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

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
+  &lt;snip&gt;
+  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: