Hello everyone,

after discussing the issue on the users@ IRC channel without success, I've 
decided to post this question to dev@.

Server operating system: linux (no distribution information available)
SVN-Server:              1.9.5 (r1770682)
Client Operating system: Microsoft Windows 10 Pro, Version 10.0.17763
SVN-Client:              JavaHL 1.10.4 (built under 
https://github.com/subclipse/javahl-windows/tree/1.10.4)

I have created a basic batch 
script<https://github.com/subclipse/subclipse/files/2960969/generate_repository.txt>
 for Windows (since the problem seems to be with JavaHL on Windows 10) 
generating a local SVN repository on which the problem can be reproduced. Just 
rename the attached file to generate_repository.bat, change the variables to 
the paths you see fit and run it.
The generated repository looks like this:

repository
   + branches
      + test
         + project
   + trunk
      + project

Calling

org.apache.subversion.javahl.ISVNClient.diff(
   String target,
   Revision pegRevision,
   Revision startRevision,
   Revision endRevision,
   String relativeToDir,
   OutputStream outStream,
   Depth depth,
   Collection<String> changelists,
   boolean ignoreAncestry,
   boolean noDiffDeleted,
   boolean force,
   boolean copiesAsAdds,
   boolean ignoreProps,
   boolean propsOnly)

with the following parameters

SVNClient.diff(
   "file:///D:/Development/SVN/Repositories/test/branches/test/project",
   Revision.HEAD,
   4,
   5,
   null,
   outputStream,
   Depth.empty,
   null,
   true,
   false,
   false,
   true,
   false,
   false)

on the created repository results in 100% CPU core usage and the call never 
terminates.

The issue was also filed at https://github.com/subclipse/subclipse/issues/95.

Could you please file a bug entry in subversion JIRA for this issue?
Thanks in advance.

Best regards

Wjatscheslaw Talanow

ASCon Systems GmbH
www.ascon-systems.de<http://www.ascon-systems.de/>
set REPO_PATH="D:\Development\SVN\Repositories\test"
set REPO_URL="file:///D:/Development/SVN/Repositories/test"
set WS_PATH="D:\Development\SVN\Workspaces\test"

svnadmin create %REPO_PATH%
svn checkout %REPO_URL%@HEAD %WS_PATH%

mkdir %WS_PATH%\trunk
mkdir %WS_PATH%\trunk\project
mkdir %WS_PATH%\branches

svn add %WS_PATH%\trunk
svn add %WS_PATH%\branches

echo foo>ignore.txt
svn propset svn:ignore -F ignore.txt %WS_PATH%\trunk\project
svn commit %WS_PATH% -m "Initialize repository."


svn copy --parents %REPO_URL%/trunk/project@HEAD 
%REPO_URL%/branches/test/project -m "Branched /trunk/project to 
/branches/test/project."
svn update %WS_PATH%

REM Senario 1: Change svn:ignore on /branches/test/project and merge it back to 
/trunk
echo foo>ignore.txt
echo bar>>ignore.txt
svn propset svn:ignore -F ignore.txt %WS_PATH%\branches\test\project
svn commit %WS_PATH% -m "Change svn:ignore for project."
svn merge %REPO_URL%/branches/test/project %WS_PATH%\trunk\project
svn commit %WS_PATH% -m "Merged /branches/test/project to /trunk/project."

REM Senario 2: Change svn:ignore on /branches/test/project again and merge it 
back to /trunk
echo foo>ignore.txt
echo bar>>ignore.txt
echo baz>>ignore.txt
svn propset svn:ignore -F ignore.txt %WS_PATH%\branches\test\project
svn commit %WS_PATH%\ -m "Change svn:ignore for project."
svn merge %REPO_URL%/branches/test/project %WS_PATH%\trunk\project
svn commit %WS_PATH% -m "Merged /branches/test/project to /trunk/project."

Reply via email to