<p>SVN externals allow you to make an SVN folder appear as if it's at another location.  A good use for this is having a common folder shared across all of your projects in SVN.</p>

<p>I have a /trunk/common folder in SVN that I share via several different project.</p>

<p>Example:</p>

<ul>
<li>Project1 : /trunk/project1/depends</li>
<li>Project2 : /trunk/project2/depends</li>
<li>Project3 : /trunk/project3/depends</li>
<li>Project4 : /trunk/project4/depends</li>
</ul>

<p>Each of these depends folders are empty, but have an svn:external defined to point to my /trunk/common folder. </p>

<p>The problem is when I view log within any of the projects: /trunk/projectX/ it does not show changes from the svn:externals.  I am using tortoise SVN as my SVN client. </p>

<p>Does anyone know how to change this behavior?  I would like for the show log of /trunk/projectX to include any changes to any defined svn:externals as well.</p>

[{'answer_id': 62844, 'author': 'Sander Rijken', 'author_id': 5555, 'author_profile': 'https://Stackoverflow.com/users/5555', 'pm_score': 3, 'selected': True, 'text': '<p>This is not possible with the current release of Subversion, other than explicitly calling svn log on the target of the externals directory</p>\n\n<p>You can try issueing a feature request at <a href="http://subversion.apache.org/" rel="nofollow noreferrer">the Apache Subversion website</a></p>\n'}, {'answer_id': 63106, 'author': 'Romain Verdier', 'author_id': 4687, 'author_profile': 'https://Stackoverflow.com/users/4687', 'pm_score': 0, 'selected': False, 'text': '<p>When you display the log for a local versioned folder, it will show the changes that are relative to this particular folder. Externals are only <strong>a link</strong> to a different folder on the repository. The only thing you can track about external references, from a folder which depends on this external project, is the <strong>reference definition itself</strong>. That is because the reference is a subversion property of the dependent folder.</p>\n\n<p>Imagine you have the following repo hierarchy :</p>\n\n<pre><code>repo\n   myfirstproject\n      trunk\n   mysecondproject\n      trunk\n   mycommonlib\n      trunk\n</code></pre>\n\n<p>and that <code>mysecondproject\\trunk</code> folder has the following <em>svn:external</em> property :</p>\n\n<pre><code>svn://mysrv/repo/mysharedlib@2451 sharedlib\n</code></pre>\n\n<p>A checkout of <em>mysecondproject\\trunk</em> inside a new folder <em>secondproject</em> will create something like this on your file system :</p>\n\n<pre><code>secondproject Folder (refers mysecondproject/trunk)\n   sharedlib Folder (refers mycommonlib/trunk @ revision #2451)\n</code></pre>\n\n<p>Calling "Show log" command of Tortoise from <em>secondproject</em> folder will only show <em>secondproject</em> files changes, and eventually changes that occurred on the <em>svn:external</em> property of the folder.</p>\n\n<p>To get change log of the external project, you need to call "Show log" from the inner folder <em>sharedlib</em>, which makes sense.</p>\n'}, {'answer_id': 14498445, 'author': 'alfio', 'author_id': 2007008, 'author_profile': 'https://Stackoverflow.com/users/2007008', 'pm_score': 1, 'selected': False, 'text': '<p>from my personal experience the log of the external links is reported only if in the same commit where you are changed the external files, you modify also just one file in the "internal" folder.\nIn this way SVN can retrieve with the proper log, the log from external folder too.</p>\n\n<p>I think that using the hook should be possible to implement a mechanism for autocommit a spot file in the working dir for every commit, also if the commit start from external link.</p>\n\n<p>Bye</p>\n'}, {'answer_id': 14500112, 'author': 'Lazy Badger', 'author_id': 960558, 'author_profile': 'https://Stackoverflow.com/users/960558', 'pm_score': 0, 'selected': False, 'text': '<p>I think, after Subversion 1.7 (which introduced single .svn folder in the root of WC) it was more clean: for directory-type externals directory of external inside Working Copy is a) independent b) nested Working Copy of separate repository</p>\n\n<pre><code>&gt;dir /B /S /AD\nz:\\subversion-troubleshoot-b\\.svn\n...\nz:\\subversion-troubleshoot-b\\trunk\nz:\\subversion-troubleshoot-b\\tags\nz:\\subversion-troubleshoot-b\\trunk\\lib\nz:\\subversion-troubleshoot-b\\trunk\\lib\\.svn\n...\nz:\\subversion-troubleshoot-b\\tags\\1.0.0\nz:\\subversion-troubleshoot-b\\tags\\1.0.1\nz:\\subversion-troubleshoot-b\\tags\\1.0.1\\lib\nz:\\subversion-troubleshoot-b\\tags\\1.0.1\\lib\\.svn\n...\n</code></pre>\n\n<p>and parent WC <strong>doesn\'t contain any information</strong> about nested WC (dir of WC, created from / of repository, note .svn dir presence twice only for mainline)</p>\n\n<pre><code>&gt;svn ls -R\nreadme.textile\ntags/\ntags/1.0.0/\ntags/1.0.0/core_mod.txt\ntags/1.0.1/\ntags/1.0.1/core_mod.txt\ntrunk/\ntrunk/core_mod.txt\n</code></pre>\n\n<p>when trunk (and tags respectively) have subdirectory lib as external</p>\n\n<p><img src="https://i.stack.imgur.com/xaImM.png" alt="Repo-Browser with externals"></p>\n\n<p>Support for handling externals added to update and commit, because this support produces <em>independent and unrelated</em> consecutive commands - and because without this support externals have no sense, aggregated svn log have to be somehow <em>combined</em> (by unknown principles, BTW)</p>\n'}]
['https://Stackoverflow.com/questions/62716', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/3153/']