[OE-core] [PATCH] fetch2/svn.py: fix Unable to fetch URL bug

Wenlin Kang wenlin.kang at windriver.com
Wed Jun 11 08:18:56 UTC 2014


On 2014年06月03日 15:13, Wenlin Kang wrote:
> On 2014年06月03日 11:30, Saul Wold wrote:
>> On 06/02/2014 06:55 PM, Wenlin Kang wrote:
>>> For svn source, when download a revsion on branches, if the download
>>> revsion < the branch created time revsion, then it will fail.
>>>
>>
>>> The detail description reference the Yocto Project bugzilla, please 
>>> see:
>>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=6258
>>>
>>> Signed-off-by: Wenlin Kang <wenlin.kang at windriver.com>
>>> ---
>>> lib/bb/fetch2/svn.py | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/lib/bb/fetch2/svn.py b/lib/bb/fetch2/svn.py
>>> index 8847461..75e21df 100644
>>> --- a/lib/bb/fetch2/svn.py
>>> +++ b/lib/bb/fetch2/svn.py
>>> @@ -98,7 +98,8 @@ class Svn(FetchMethod):
>>> suffix = ""
>>> if ud.revision:
>>> options.append("-r %s" % ud.revision)
>>> - suffix = "@%s" % (ud.revision)
>>> + #follow this line can make the fetch fail when download a revsion 
>>> on branches if the download revsion < the branch created time revsion.
>>> + #suffix = "@%s" % (ud.revision)
>>>
>> Will this cause other failures if there versions requests at a 
>> specific revision? can you detail how you tested this?
> For a specific revsion download, I also do test, but I don't see 
> failure now.
> My test follow, you can reference it.
>
> First, you need to create a svn server, eg, my is svnroot
> $svnadmin create ~/workspace/svnroot
>
> Second, on the client side do:
> $mkdir -p ~/workspace/svntest
> $cd ~/workspace/svntest
> $mkdir -p test/{trunk,branches,tag}
> $mkdir -p test/trunk/tdir0/tdir1/tdir2
> $touch test/trunk/{hello.c}
> $touch test/trunk/tdir0/tdir1/tdir2/test2.c
> $touch test/trunk/tdir0/tdir1/test1.c
> $touch test/trunk/tdir0/test0.c
>
> $svn import -m "create the project test" test/ 
> svn://xxx.xxx.xxx.xxx/svnroot/test
>
> Then, do some commit,...
> Such, we now get "r15"
>
> $svn cp -m "create a branch test_debug-1.0" 
> svn://xxx.xxx.xxx.xxx/svnroot/test/trunk 
> svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0
>
> Now, we create a bb file(eg, mytest.bb) to down "tdir1" with the 
> verion < test_debug-1.0 created time version, eg, download r12
> in bb file has:
> SRCREV = "12"
> SRC_URI = 
> "svn://xxx.xxx.xxx.xxx/svnroot/test/branches/test_debug-1.0;module=test0/tdir1"

    Replace "module=test0/tdir1"  with "module=tdir0/tdir1"

     //Wenlin

>
> Last, run fetch for mytest.bb
>>
>>
>>> if command == "fetch":
>>> svncmd = "%s co %s %s://%s/%s%s %s" % (ud.basecmd, " 
>>> ".join(options), proto, svnroot, ud.module, suffix, ud.module)
>>>
>>
>>
>
>


-- 
Thanks,
Wenlin Kang




More information about the Openembedded-core mailing list