[gnome-continuous-yocto/gnomeostree-3.28-rocko: 710/8267] bitbake: fetch2/git.py: References must match exactly

commit 08c6808d01a3d5cde26cb7efcaf19603e6f806a6
Author: Peter Kjellerstedt <peter kjellerstedt axis com>
Date:   Mon May 23 13:35:49 2016 +0200

    bitbake: fetch2/git.py: References must match exactly
    Previously the code used to match a reference to its SHA-1 in
    _latest_revision() used the Python "in" operator, which made it match
    if the reference matched the beginning of an existing tag or
    branch. This test, however, must be exact. I.e., either the reference
    matches a tag or branch exactly, or it does not match at all.
    (Bitbake rev: e5986c78a6108fd7578989c20efcbf0b81c97e03)
    Signed-off-by: Peter Kjellerstedt <peter kjellerstedt axis com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/fetch2/git.py |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 526668b..59827e3 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -350,9 +350,10 @@ class Git(FetchMethod):
             head = "refs/heads/%s" % ud.unresolvedrev[name]
             tag = "refs/tags/%s" % ud.unresolvedrev[name]
         for s in [head, tag + "^{}", tag]:
-            for l in output.split('\n'):
-                if s in l:
-                    return l.split()[0]
+            for l in output.strip().split('\n'):
+                sha1, ref = l.split()
+                if s == ref:
+                    return sha1
         raise bb.fetch2.FetchError("Unable to resolve '%s' in upstream git repository in git ls-remote 
output for %s" % \
             (ud.unresolvedrev[name], ud.host+ud.path))

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]