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

Re: Some files stay at an too new revision when updating the working copy to an old revision

From: Branko Čibej <brane_at_apache.org>
Date: Fri, 20 Jul 2018 15:55:19 +0200

On 20.07.2018 15:37, Franz Sirl wrote:
> Hi,
>
> this already happened a few times here, but now I managed to re-create
> it reliably.
> This happens at least on Linux with subversion-1.8/subversion-1.10 and
> on Windows
> with TortoiseSVN-1.9, didn't test older versions yet. Server is
> subversion-1.9.5
> on Linux, a "svnadmin verify" of a repository hotcopy showed no problems
>
> This slightly obfuscated transcript shows the problem:
>
> -->
> $ rm -rf myrepo.wc
> $ svn co https://svnserver/svn/myrepo/trunk/some/path/src myrepo.wc/
> ...
> Checked out revision 98863.
> $ svn status --verbose myrepo.wc/mysrc[34].c
>              98867    93474 user1        myrepo.wc/mysrc3.c
>              98867    87357 user2        myrepo.wc/mysrc4.c
> $ svn up -r 85950 myrepo.wc
> ...
> At revision 85950.
> $ svn status --verbose myrepo.wc/mysrc[34].c
>              85950    93474 user1        myrepo.wc/mysrc3.c
>              85950    83501 user3        myrepo.wc/mysrc4.c
> --<
>
> As you can see, mysrc3.c has a too high last_commit revision and also
> the content
> of the file is too new after the first downgrading with "svn up -r
> 85950 myrepo.wc".

This does look strange.

Is myrepo.wc/mysrc3.c a file external by any chance? Try:

$ svn propget svn:externals --show-inherited-props myrepo.wc

If it isn't could you show us an (obfuscated) log of that file?

$ svn log --verbose -r93474:85950 myrepo.wc/mysrc3.c

(the actual log messages are not important, only the list of changes to
the file)

-- Brane

>
> The following procedure fixes the problem:
>
> -->
> $ svn update -r85950 myrepo.wc/mysrc3.c
> Updating 'myrepo.wc/mysrc3.c':
> At revision 85950.
> $ svn status --verbose myrepo.wc/mysrc[34].c
>              85950    93474 user1        myrepo.wc/mysrc3.c
>              85950    83501 user3        myrepo.wc/mysrc4.c
> $ svn update -rPREV myrepo.wc/mysrc3.c
> Updating 'myrepo.wc/mysrc3.c':
> U    myrepo.wc/mysrc3.c
> Updated to revision 93473.
> $ svn status --verbose myrepo.wc/mysrc[34].c
>              93473    87225 user2        myrepo.wc/mysrc3.c
>              85950    83501 user3        myrepo.wc/mysrc4.c
> $ svn update -r85950 myrepo.wc/mysrc3.c
> Updating 'myrepo.wc/mysrc3.c':
> U    myrepo.wc/mysrc3.c
> Updated to revision 85950.
> $ svn status --verbose myrepo.wc/mysrc[34].c
>              85950    83501 user3        myrepo.wc/mysrc3.c
>              85950    83501 user3        myrepo.wc/mysrc4.c
> --<
>
> Is this a known problem? Could it be server-related? IOW, should I try
> to upgrade
> the server to 1.10?
>
> This is a simple oneliner to find affected files:
>
> $ svn status --verbose --ignore-externals myrepo.wc/ | gawk '{
> FIELDWIDTHS = "1 1 1 1 1 1 1 1 1 1 8 1 8 1 5000"; if ($13 > $11) print
> $11 " " $13 " " $15 }'
>
> Let me know if there is anything I should try or if you need more
> details.
>
> Franz
>
>
Received on 2018-07-20 15:55:29 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.