Note that there are some explanatory texts on larger screens.

plurals
  1. POset up a local SVN with svn:external branch for merging (from scratch)
    text
    copied!<p>I wonder if it is possible to set up an SVN subversion system (btw, i'm on Ubuntu 11.10) for particular folder with two different sources and track changes simultaneously?</p> <p>The situation is the following:</p> <ol> <li><p>There is an Open Source project which is regularly updated (from svn://...). I use that as a basis to add some features I need. I don't have a right to submit my changes or do branching or anything else like that at the developers svn.</p></li> <li><p>Modifying my code I keep track of what I modified via local svn (file:///usr/...)</p></li> </ol> <p>What I would like to do is from time to time merge my version with official updates but still keep my personal local svn. How do I set it up?</p> <p>Or would it be easier to have SVN (for official subversion) + some other system like Git?</p> <p>p/s/ I work on the code myself only in Eclipse with Subclipse plug-in.</p> <p>UPDATE1:</p> <p>going through the SVN book, that's how I should probably make a branch in my case:</p> <p>Initial import:</p> <pre><code>svn import /path/to/3rd-party-code \ file:///usr/.../vendor/name/current \ -m "importing initial 1.0 vendor drop" </code></pre> <p>Tag it:</p> <pre><code>svn copy file:///usr/.../vendor/name/current \ file:///usr/.../vendor/name/1.0 \ -m "tagging name-1.0" </code></pre> <p>Bring to trunk:</p> <pre><code>svn copy file:///usr/.../vendor/name/1.0 \ file:///usr/.../trunk/ \ -m "bringing name-1.0 into the trunk" </code></pre> <p>And then checkout from trunk and start modification. So, how things change with "externals" ?</p> <p>Update 2:</p> <p>Is this how everything should be don from scratch:</p> <pre><code>svnadmin create /usr/.../svnrepo svn import svn://path/to/3rd-party-code \ file:///usr/.../svnrepo/name/branch/official \ -m "importing initial XXXX rev. vendor drop" svn copy file:///usr/.../svnrepo/name/branch/official \ file:///usr/.../svnrepo/name/trunk \ -m "bringing rev XXXX into the trunk" svn propedit svn:externals svn://path/to/3rd-party-code name/branch/official </code></pre> <p>Merging:</p> <pre><code>svn merge -r XXXX:HEAD name/branch/official svn ci -m "Merged YYYY official revision to trunk" </code></pre> <p>UPDATE 3:</p> <pre><code>svnadmin create /usr/.../svnrepo svn mkdir -m "Create folders" \ file:///usr/../svnrepo/name/branches \ file:///usr/../svnrepo/name/branches/official \ file:///usr/../svnrepo/name/trunk </code></pre> <p>Externals:</p> <pre><code>svn propedit svn:externals file:///usr/.../svnrepo/name/branches/official </code></pre> <p>(input "svn://path/to/3rd-party-code") </p> <pre><code>svn copy file:///usr/.../svnrepo/name/branches/official \ file:///usr/.../svnrepo/name/trunk \ -m "bringing rev XXXX into the trunk" </code></pre> <p>Now, the problem is when I "co" trunk, I get the following structure:</p> <pre><code>official/svn:externals/folder1/file1 </code></pre> <p>Which is something I don't want for sure :)</p> <p>Merging:</p> <pre><code>svn merge name/branches/official svn ci -m "Merged YYYY official revision to trunk" </code></pre>
 

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