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

Re: Issue in svn E195020

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Tue, 7 Apr 2015 01:20:13 +0200

On Wed, Apr 1, 2015 at 5:11 PM, Scott Aron Bloom <scott_at_towel42.com> wrote:
> [ As an aside: this list prefers bottom-posting (i.e. putting your reply at the bottom) or inline replying, if possible. Also, plain-text is preferred, but I'll manage :-). See more below ... ]
> [ Understood... too many mailing lists.. ]
>
> On Wed, Apr 1, 2015 at 3:36 AM, Scott Aron Bloom <scott_at_towel42.com> wrote:
>> Here is some more info:
>>
>> First I show the results of the svnversion, showing the mixed revision.
>> Then I do a svn merge (with –allow-mixed-revisions) and get the
>> E195020 error Then I do an svn up Then another svnversion still
>> showing the mixed revision Then finally the merge showing the problem
>> still exists..
>>
>> Scott
>>
> [SNIP]
>>
>> Fetching external item into 'Installation\FPGALibraries':
>> External at revision 29142.
>>
>> Fetching external item into 'UI\QtGraphVizLib\libcgraphviz':
>> External at revision 28492.
>>
>> At revision 29395.
>>
>> $ svnversion
>> 28594:29395S
>>
>> $ svn merge --allow-mixed-revisions ^/branches/vijay/vhdlBitWidthFix_1 .
>> svn: E195020: Cannot merge into mixed-revision working copy
>> [28594:29395]; try updating first
>
> Interesting! That definitely points to externals as the likely cause of the problem. I'll note that 28594 (the first rev reported by
> svnversion) is the one of the 'Prerequisites' external item. So I'd start by analyzing that one a bit more.
>
> Specifically: is that a file external? If so, can you share its external definition (the value in the svn:externals property that defines it) -- feel free to strip out confidential information such as hostname of your server etc. I'm mainly interested to see in what format it's specified, if it has a peg revision, ...
>
> With that info one might be able to reproduce it on a test repository, so we can take a closer look.
>
> =========================
> I did notice that... (the version being the same for Prerequisites)
>
> Here is the line from the externals definition
>
> -r 28594 ^/externals/microsoft/Prerequisites Prerequisites
>
> It is a directory, that contains the VS 2013 and VS 2008 pre-req distribution executable installers for our install creation phase.

Sorry it took a while ... I tried to reproduce your issue from
scratch, but I can't get it into the blocking mixed-rev situation (the
svnversion of the form NNN:MMMS). There must be something else playing
a role.

This is what I tried:

[[[
C:\mixed_rev>svn --version -q
1.8.11-SlikSvn-1.8.11-X64

### make new repository and build up the basics
C:\mixed_rev>svnadmin create repos

C:\mixed_rev>svn co file:///c:/mixed_rev/repos wc
Checked out revision 0.

C:\mixed_rev>cd wc

C:\mixed_rev\wc>svn mkdir trunk branches tags externals
A trunk
A branches
A tags
A externals

C:\mixed_rev\wc>svn ci -mm
Adding branches
Adding externals
Adding tags
Adding trunk

Committed revision 1.

C:\mixed_rev\wc>svn up
Updating '.':
At revision 1.

C:\mixed_rev\wc>svnversion
1

### create dir under /externals
C:\mixed_rev\wc>svn mkdir externals\dir
A externals\dir

C:\mixed_rev\wc>svn ci -mm
Adding externals\dir

Committed revision 2.

C:\mixed_rev\wc>cd trunk

### define svn:externals on /trunk, referring to fixed revision of
/externals/dir
C:\mixed_rev\wc\trunk>svn pe svn:externals .
Set new value for property 'svn:externals' on '.'
### value set to "-r 2 ^/externals/dir dir"

C:\mixed_rev\wc\trunk>svn ci -mm
Sending .

Committed revision 3.

### create a branch, just for fun
C:\mixed_rev\wc\trunk>svn cp -mm file:///c:/mixed_rev/repos/trunk
file:///c:/mixed_rev/repos/branches/br1

Committed revision 4.

C:\mixed_rev\wc\trunk>svnversion
3

C:\mixed_rev\wc\trunk>cd ..

C:\mixed_rev\wc>svn up
Updating '.':
A branches\br1

Fetching external item into 'branches\br1\dir':
Updated external to revision 2.

Fetching external item into 'trunk\dir':
External at revision 2.

At revision 4.

### svnversion still clean -- here I would have perhaps expected 2:4S
C:\mixed_rev\wc>svnversion
4

C:\mixed_rev\wc>cd ..

### Let's see if it works with a wc of only trunk (where ^/externals is outside)
C:\mixed_rev>svn co file:///c:/mixed_rev/repos/trunk wc_trunk
 U wc_trunk

Fetching external item into 'wc_trunk\dir':
Checked out external at revision 2.

Checked out revision 4.

C:\mixed_rev>cd wc_trunk

### nope, svnversion still clean.
C:\mixed_rev\wc_trunk>svnversion
4
]]]

Can you try to come up with a reproducible example? Or perhaps point
out other special things that I might try on my test repository /
working copy?

-- 
Johan
Received on 2015-04-07 01:21:45 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.