]> code.ossystems Code Review - openembedded-core.git/commitdiff
metadata_scm: Avoid crashing on new svn version layouts
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 22 Nov 2013 15:07:34 +0000 (15:07 +0000)
committerPaul Eggleton <paul.eggleton@linux.intel.com>
Tue, 3 Dec 2013 16:49:24 +0000 (16:49 +0000)
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)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/metadata_scm.bbclass

index 502d400cbb6a475247b4efd13df7c86f096fcd21..cc8abe6292b9487aa673dfc8f414dd8b142e7e30 100644 (file)
@@ -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 = "<unknown>"
     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