From 6a1bec4f6ec78a2f3f7a1adb08992e55521fbe24 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 22 Nov 2013 15:07:34 +0000 Subject: metadata_scm: Avoid crashing on new svn version layouts This avoids crashing on newer svn layouts where the entries files don't contain three lines. If someone wants to fix this to get the right version on newer subversion checkouts, patches welcome but this at least stops things crashing. [YOCTO #5363] (From OE-Core master rev: e850c53d4d8cb877a704a23f9ce02d6185ba3ffa) (From OE-Core rev: 9fdea109d65c338913caa22e3a09f0408c361536) Signed-off-by: Richard Purdie --- meta/classes/metadata_scm.bbclass | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'meta/classes/metadata_scm.bbclass') diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass index 502d400cbb..cc8abe6292 100644 --- a/meta/classes/metadata_scm.bbclass +++ b/meta/classes/metadata_scm.bbclass @@ -52,10 +52,13 @@ def base_get_metadata_monotone_revision(path, d): return monotone_revision def base_get_metadata_svn_revision(path, d): + # This only works with older subversion. For newer versions + # this function will need to be fixed by someone interested revision = "" try: - revision = file( "%s/.svn/entries" % path ).readlines()[3].strip() - except IOError: + with open("%s/.svn/entries" % path) as f: + revision = f.readlines()[3].strip() + except IOError, IndexError: pass return revision -- cgit v1.2.3-54-g00ecf