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

Problem in function in_skipped_tree of libsvn_wc\update_editor.c

From: Marc Haesen <Marc.Haesen_at_oneaccess-net.com>
Date: Thu, 4 Dec 2008 15:50:03 +0100

When running the following script in c:\ in windows I get an endless
loop during the last svn update command until I get an out of memory
error:

svnadmin create repos

svn co file:///repos wc1

cd wc1

svn mkdir dir1

svn -m "1" commit

cd dir1

echo line1 > file1.c

echo line2 >> file1.c

svn add file1.c

cd ..

svn -m"1" commit

cd dir1

svn up \wc1

 

I have debugged the problem and the endless loop is inside the
in_skipped_tree function of libsvn_wc/update_editor.c

The reason is the svn_path_dirname function with "/" as input returns
the same path "/", causing an endless loop. Upon function entry, the
path is "/wc1/dir1"

 

There are 2 ways to fix the problem:

- make sure svn_path_dirname returns an empty string with "/"
as input

- replace the loop test while (! svn_path_is_empty(path)) by
while (! svn_path_is_empty(path) && strcmp(path,"/"))

 

I have used revision 34550 of trunk on windows.

 

 

Regards,

Marc

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=979646
Received on 2008-12-04 15:50:27 CET

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