Patchwork metadata_scm: Avoid crashing on new svn version layouts

login
register
mail settings
Submitter Richard Purdie
Date Nov. 22, 2013, 3:07 p.m.
Message ID <1385132854.16887.178.camel@ted>
Download mbox | patch
Permalink /patch/62241/
State New
Headers show

Comments

Richard Purdie - Nov. 22, 2013, 3:07 p.m.
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]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Otavio Salvador - Nov. 22, 2013, 6:49 p.m.
On Fri, Nov 22, 2013 at 1:07 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> 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]
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Does not seem right to 'workaround' this; it'd be better to fix it properly.
Richard Purdie - Nov. 22, 2013, 11:17 p.m.
On Fri, 2013-11-22 at 16:49 -0200, Otavio Salvador wrote:
> On Fri, Nov 22, 2013 at 1:07 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 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]
> >
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> Does not seem right to 'workaround' this; it'd be better to fix it properly.

Its bad the system completely crashes and this patch improves/removes
that particular problem.

Equally, I don't have any inclination to figure out the svn changes, I
also don't know anyone with any interest in figuring out svn changes.
This has been broken long enough that I don't think many people can be
using it. If people are, they will fix it...

Cheers,

Richard

Patch

diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass
index 8d3988a..ba0edf9 100644
--- a/meta/classes/metadata_scm.bbclass
+++ b/meta/classes/metadata_scm.bbclass
@@ -54,11 +54,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:
         with open("%s/.svn/entries" % path) as f:
             revision = f.readlines()[3].strip()
-    except IOError:
+    except IOError, IndexError:
         pass
     return revision