diff options
| -rw-r--r-- | bitbake/lib/bb/fetch2/svn.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py index 59d7ccbac1..bc5b96b556 100644 --- a/bitbake/lib/bb/fetch2/svn.py +++ b/bitbake/lib/bb/fetch2/svn.py | |||
| @@ -49,6 +49,8 @@ class Svn(FetchMethod): | |||
| 49 | if not "module" in ud.parm: | 49 | if not "module" in ud.parm: |
| 50 | raise MissingParameterError('module', ud.url) | 50 | raise MissingParameterError('module', ud.url) |
| 51 | 51 | ||
| 52 | ud.basecmd = d.getVar('FETCHCMD_svn', True) | ||
| 53 | |||
| 52 | ud.module = ud.parm["module"] | 54 | ud.module = ud.parm["module"] |
| 53 | 55 | ||
| 54 | # Create paths to svn checkouts | 56 | # Create paths to svn checkouts |
| @@ -69,8 +71,6 @@ class Svn(FetchMethod): | |||
| 69 | command is "fetch", "update", "info" | 71 | command is "fetch", "update", "info" |
| 70 | """ | 72 | """ |
| 71 | 73 | ||
| 72 | basecmd = data.expand('${FETCHCMD_svn}', d) | ||
| 73 | |||
| 74 | proto = ud.parm.get('proto', 'svn') | 74 | proto = ud.parm.get('proto', 'svn') |
| 75 | 75 | ||
| 76 | svn_rsh = None | 76 | svn_rsh = None |
| @@ -88,7 +88,7 @@ class Svn(FetchMethod): | |||
| 88 | options.append("--password %s" % ud.pswd) | 88 | options.append("--password %s" % ud.pswd) |
| 89 | 89 | ||
| 90 | if command == "info": | 90 | if command == "info": |
| 91 | svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module) | 91 | svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) |
| 92 | else: | 92 | else: |
| 93 | suffix = "" | 93 | suffix = "" |
| 94 | if ud.revision: | 94 | if ud.revision: |
| @@ -96,9 +96,9 @@ class Svn(FetchMethod): | |||
| 96 | suffix = "@%s" % (ud.revision) | 96 | suffix = "@%s" % (ud.revision) |
| 97 | 97 | ||
| 98 | if command == "fetch": | 98 | if command == "fetch": |
| 99 | svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module) | 99 | svncmd = "%s co %s %s://%s/%s%s %s" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module) |
| 100 | elif command == "update": | 100 | elif command == "update": |
| 101 | svncmd = "%s update %s" % (basecmd, " ".join(options)) | 101 | svncmd = "%s update %s" % (ud.basecmd, " ".join(options)) |
| 102 | else: | 102 | else: |
| 103 | raise FetchError("Invalid svn command %s" % command, ud.url) | 103 | raise FetchError("Invalid svn command %s" % command, ud.url) |
| 104 | 104 | ||
| @@ -117,6 +117,11 @@ class Svn(FetchMethod): | |||
| 117 | logger.info("Update " + loc) | 117 | logger.info("Update " + loc) |
| 118 | # update sources there | 118 | # update sources there |
| 119 | os.chdir(ud.moddir) | 119 | os.chdir(ud.moddir) |
| 120 | # We need to attempt to run svn upgrade first in case its an older working format | ||
| 121 | try: | ||
| 122 | runfetchcmd(ud.basecmd + " upgrade", d) | ||
| 123 | except FetchError: | ||
| 124 | pass | ||
| 120 | logger.debug(1, "Running %s", svnupdatecmd) | 125 | logger.debug(1, "Running %s", svnupdatecmd) |
| 121 | bb.fetch2.check_network_access(d, svnupdatecmd, ud.url) | 126 | bb.fetch2.check_network_access(d, svnupdatecmd, ud.url) |
| 122 | runfetchcmd(svnupdatecmd, d) | 127 | runfetchcmd(svnupdatecmd, d) |
