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

Re: Problem in function in_skipped_tree of libsvn_wc\update_editor.c

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Thu, 04 Dec 2008 16:53:01 +0000

On Thu, 2008-12-04 at 15:50 +0100, Marc Haesen wrote:
> 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:

Marc,

Thank you very much for reporting this problem and for debugging it.

I am currently fixing it.

- Julian

> 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.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=979721
Received on 2008-12-04 17:53:31 CET

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