[bitbake-devel] [PATCH] fetch2/svn: Enhance to cope with subversion 1.7 upgrade
Martin Jansa
martin.jansa at gmail.com
Tue Jul 3 18:03:32 UTC 2012
On Mon, Jul 02, 2012 at 09:23:04PM +0100, Richard Purdie wrote:
> svn changed working checkout formats between 1.6 and 1.7. Its convoluted to
> detect what format a given working copy is in so the simplest solution is simply
> to run "svn upgrade" within the working copy.
>
> The base svn command variable is relocated slightly to enable this new code to
> work effectively.
>
Tested-by: Martin Jansa <Martin.Jansa at gmail.com>
but as described in [YOCTO #2409] I was using 1.7 on premirror as well
as builder so all my checkouts/tarballs were already in 1.7 format.
Cheers,
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py
> index 59d7ccb..bc5b96b 100644
> --- a/bitbake/lib/bb/fetch2/svn.py
> +++ b/bitbake/lib/bb/fetch2/svn.py
> @@ -49,6 +49,8 @@ class Svn(FetchMethod):
> if not "module" in ud.parm:
> raise MissingParameterError('module', ud.url)
>
> + ud.basecmd = d.getVar('FETCHCMD_svn', True)
> +
> ud.module = ud.parm["module"]
>
> # Create paths to svn checkouts
> @@ -69,8 +71,6 @@ class Svn(FetchMethod):
> command is "fetch", "update", "info"
> """
>
> - basecmd = data.expand('${FETCHCMD_svn}', d)
> -
> proto = ud.parm.get('proto', 'svn')
>
> svn_rsh = None
> @@ -88,7 +88,7 @@ class Svn(FetchMethod):
> options.append("--password %s" % ud.pswd)
>
> if command == "info":
> - svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
> + svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
> else:
> suffix = ""
> if ud.revision:
> @@ -96,9 +96,9 @@ class Svn(FetchMethod):
> suffix = "@%s" % (ud.revision)
>
> if command == "fetch":
> - svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
> + svncmd = "%s co %s %s://%s/%s%s %s" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
> elif command == "update":
> - svncmd = "%s update %s" % (basecmd, " ".join(options))
> + svncmd = "%s update %s" % (ud.basecmd, " ".join(options))
> else:
> raise FetchError("Invalid svn command %s" % command, ud.url)
>
> @@ -117,6 +117,11 @@ class Svn(FetchMethod):
> logger.info("Update " + loc)
> # update sources there
> os.chdir(ud.moddir)
> + # We need to attempt to run svn upgrade first in case its an older working format
> + try:
> + runfetchcmd(ud.basecmd + " upgrade", d)
> + except FetchError:
> + pass
> logger.debug(1, "Running %s", svnupdatecmd)
> bb.fetch2.check_network_access(d, svnupdatecmd, ud.url)
> runfetchcmd(svnupdatecmd, d)
>
>
>
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20120703/cfd82fbb/attachment-0001.sig>
More information about the bitbake-devel
mailing list