Note that there are some explanatory texts on larger screens.

plurals
  1. POIs current/ required in vendor branch?
    text
    copied!<p><strong>What I have</strong></p> <p>I have a C++ code base and <em>svn</em> is used for VCS. </p> <p>My code uses several 3rd party products. We use different versions of each product and use them on different OSes (Linux and Windows). </p> <p>The 3rd party products (with the required version) are present on compilation machines and are used at compilation time, so the relationship between code and the used 3rd party version is loosely coupled. </p> <p><strong>What I want</strong></p> <p>I want to change the situation. The idea is to utilize <a href="http://svnbook.red-bean.com/en/1.1/ch07s05.html" rel="nofollow noreferrer">svn vendor branch</a>. In contrast to what described in <a href="http://svnbook.red-bean.com/en/1.1/ch07s05.html" rel="nofollow noreferrer">svn vendor branch</a>, we will store binary version of 3rd party product and not code itself. This is since we never patch 3rd party code.</p> <p><a href="http://svnbook.red-bean.com/en/1.0/ch07s03.html" rel="nofollow noreferrer">svn:external</a> will be used to use an appropriate version of 3rd party product. Here a skeleton of svn repository:</p> <pre><code>svn_repo/vendor/product1/OS1/ver1 &lt;- mymodule using it vendor/product1/OS2/ver1 &lt;- mymodule using it vendor/product1/OS1/ver2 vendor/product1/OS1/ver2 vendor/product2/OS1/ver1 vendor/product2/OS2/ver1 vendor/product2/OS1/ver2 &lt;- mymodule using it vendor/product2/OS1/ver2 &lt;- mymodule using it mymodule/ &lt;- this is my actual code referring to a particular products from vendor/ using svn:external mymodule/vendor/product1/OS1 &lt;- reference to vendor/product1/OS1/ver1 mymodule/vendor/product1/OS2 &lt;- reference to vendor/product1/OS2/ver1 mymodule/vendor/product2/OS1 &lt;- reference to vendor/product1/OS1/ver2 mymodule/vendor/product3/OS2 &lt;- reference to vendor/product1/OS2/ver2 </code></pre> <p><strong>Question</strong></p> <p>In svn red book in <a href="http://svnbook.red-bean.com/en/1.1/ch07s05.html" rel="nofollow noreferrer">vendor branch</a> chapter, it is proposed to maintain a current/ containing the latest release of 3rd party product, so from the example we end up with:</p> <pre><code> repos/vendor/libcomplex/current - contains 1.1 repos/vendor/libcomplex/1.0 repos/vendor/libcomplex/1.1 </code></pre> <p>Since we don't patch 3rd party code I don't see any point to maintain current/. This looks too have to maintain it, therefore you can see that svn is supplied with auxiliary perl script <em>svn_load_dirs.pl</em> to aid.</p> <p>My guess current/ is required to:</p> <ol> <li>To make different versions svn releted and then svn comparable.</li> <li>As a side the version are stored in more efficient way in svn repository.</li> </ol> <p>I don't see we really need those. </p> <p>So the question is if we can safely bypass handling of current/ in vendor branch?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload