/usr/share/doc/svn-buildpackage/html/ch01s05.html is in svn-buildpackage 0.8.6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Popular repository layouts</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="svn-buildpackage - maintaining Debian packages with Subversion"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01s04.html" title="Contents overview"><link rel="next" href="ch02.html" title="Chapter 2. Getting started"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Popular repository layouts</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="layouts"></a>Popular repository layouts</h2></div></div></div><p>There are different ways to store the packages in the
repositories (or in multiple repositories at your choice).
<span class="command"><strong>svn-buildpackage</strong></span> normally expects a directory
structure similar to the one well described in the Subversion Book,
which looks like:
</p><div class="example"><a name="hierarchy"></a><p class="title"><b>Example 1.1. Directory hierarchy example.</b></p><div class="example-contents"><pre class="programlisting">
packageA/
trunk/
branches/
branches/upstream
tags/
projectB/
trunk/
branches/
branches/developerFoo
tags/
</pre></div></div><br class="example-break"><p><code class="filename">packageA</code> above may be a typical upstream-based source package
and a <code class="filename">projectB</code> may be a Debian native package with a separate branch
created by developer Foo for his own experiments. See <a class="ulink" href="http://svnbook.red-bean.com/html-chunk/ch04s02.html" target="_top">
Subversion Book/Branches</a> for more details about using
Subversion branches.
</p><p>Also note that Tags work quite differently to those in CVS.
Subversion does not maintain magic tags associated with some files.
Instead, it tracks the file state and moves, so Tagging something
means creating a copy (inside of the Repository, harddisk-space
efficient) of a certain version of the file set. So the Debian branch
of the released package source is contained in
<code class="filename">trunk/</code> and is tagged by copying (mirroring) the
trunk tree to <code class="filename">tags/DEBIAN-REVISION</code>. The same
happens for the upstream releases. In addition, the most recent
upstream version is mirrored to
<code class="filename">branches/upstream/current</code>. After few package
upgrade cycles, the directory tree may look like:
</p><div class="example"><a name="branches"></a><p class="title"><b>Example 1.2. Example branch directory hierarchy</b></p><div class="example-contents"><pre class="programlisting">
# svn ls -R file:///home/user/svn-repo/dev/translucency
branches/
branches/upstream/
branches/upstream/0.5.9/
branches/upstream/0.5.9/AUTHORS
branches/upstream/0.5.9/COPYING
...
branches/upstream/0.6.0/
branches/upstream/0.6.0/AUTHORS
branches/upstream/0.6.0/COPYING
...
branches/upstream/current/
branches/upstream/current/AUTHORS
branches/upstream/current/COPYING
... same stuff as in 0.6.0 ...
tags/
tags/0.5.9-1/
...
tags/0.5.9-1/debian/
tags/0.5.9-1/debian/README.Debian
...
tags/0.6.0-1/
tags/0.6.0-1/AUTHORS
...
tags/0.6.0-1/debian/
tags/0.6.0-1/debian/README.Debian
tags/0.6.0-1/debian/changelog
...
trunk/
trunk/AUTHORS
trunk/COPYING
... trunk where 0.6.0-2 is beeing prepared ...
</pre></div></div><br class="example-break"><p>
<span class="command"><strong>svn-buildpackage</strong></span> also supports the second repository layout suggested in
the Subversion Book (function/package) but <span class="command"><strong>svn-inject</strong></span> prefers the one
documented above. Both <span class="command"><strong>svn-buildpackage</strong></span> and <span class="command"><strong>svn-upgrade</strong></span> should be able to
auto-detect the repository layout and the location of package files.
</p><p>
In theory, you do not have to follow that examples and place the <code class="filename">trunk</code>,
<code class="filename">branches</code> and <code class="filename">tags</code> directory on the locations you like more.
But <span class="command"><strong>svn-buildpackage</strong></span> and other scripts won't locate the files
automaticaly so you will need to edit the <code class="filename">.svn/deb-layout</code> file in your
working directory and set paths. See the old <a class="ulink" href="file:///usr/share/doc/svn-buildpackage/CONFIG" target="_top">abstract</a>
about how auto-detection works and the <a class="ulink" href="file:///usr/share/doc/svn-buildpackage/examples/config.example" target="_top">
config example</a>.
</p><p>
Finally, the working directory structure on your development system may
look like:
</p><div class="example"><a name="config-example"></a><p class="title"><b>Example 1.3. Example configuration</b></p><div class="example-contents"><pre class="programlisting">
dev/ # base directory, may be under version control or not
dev/foo # trunk directories of various packages
dev/bar # contents correspond to trunk, see above
dev/tarballs # where "orig" tarballs are stored, may be under VC or not
dev/build-area # where the packages are exported temporarily and built
</pre></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Contents overview </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Getting started</td></tr></table></div></body></html>
|