[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

FeatureRequest: Improved svn:externals handling on Merge

From: Marcel Hesselbarth <hessi9_at_yahoo.de>
Date: Mon, 30 Jul 2012 10:13:37 +0100 (BST)

Hi Developers,

I'm redirected here from the tortoise mailing list, as they think this
feature belongs to the area of the svn library. Performing some
searches shows that I'm not the only one with this problem, even it it
seems to be never posted here.

The basic problem I have is I have a Project with svn:externals
defined pointing into the same SVN. When I now make a tortoiseSVN
commit the files changed inside the svn:externals folders are included
- so all works great.

If I now try to merge these commit into a other checkout the changes
inside the svn:externals are not merged, they are silently ignored. I
need to do a separate merge at the svn:externals folders. Doing so
works fine, but why having to do this manually? As externals are
silently included into commits it is easily overseen that a commit
includes externals at merging. So if these externals are not merged or
at least warned while merging they will be overseen -> an great source
for new bugs...

The merge of svn:externals is not done automatically independent of if
the folder at the merge target is an linked svn:externals folder or a
real folder.

Now a detailed example for better visualisation:
I have the following svn structure:
svn://svn/test/main/trunc
  svn:external Propery: svn://svn/test/sub/trunc sub
  File: Mainfile.txt
svn://svn/test/sub/trunc Project
  File: Subfile.txt

Now I make a branch and set the svn:external Propery:
svn://svn/test/main/branch1
  svn:external Propery: svn://svn/test/sub/branch1 sub
  File: Mainfile.txt
svn://svn/test/sub/branch1 Project
  File: Subfile.txt

On a Checkout of main Project this will result in the following file structures:
  mainTrunc
  | Mainfile.txt
  | sub
  | | Subfile.txt
  mainBranch
  | Mainfile.txt
  | sub
  | | Subfile.txt

If I make changes at Mainfile.txt and Subfile.txt at main in one
commit with version 123. To merge these changes to the branch I have
to do the following:
1. Go to mainBranch folder an merge svn://svn/test/main/trunc version 123
2. Go to mainBranch/sub folder and merge svn://svn/test/sub/trunc version 123
All information required for the 2. merge of the externals folder is
already known by the tortoise client. It knows there are files at the
svn://svn/test/sub/trunc folder included at these commit and it knows
these files are loyally stored at mainBranch/sub folder.

With best regards,
  Marcel Hesselbarth
Received on 2012-07-30 11:19:14 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.