[gnome-continuous-yocto/gnomeostree-3.28-rocko: 489/8267] devtool: upgrade: tweak conflict handling



commit 93a1c016661567292d52bb8a6d3e77f486f5febd
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Tue May 24 16:18:51 2016 +1200

    devtool: upgrade: tweak conflict handling
    
    Make a couple of changes to the rebase operation:
    
    1) Only wrap the actual rebase command in try...except since a failure
       in any of the other commands should be an error, not a warning
    2) If it's a conflict (which unfortunately we can only tell by checking
       for the keyword "conflict" since git doesn't return error codes based
       on the type of error) then print a message clarifying that the user
       needs to resolve the issue themselves to finish the upgrade.
    
    (From OE-Core rev: 2a76be958432a35a0de30e9a5433089a54a06cad)
    
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/lib/devtool/upgrade.py |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
index e34234a..7e6aa42 100644
--- a/scripts/lib/devtool/upgrade.py
+++ b/scripts/lib/devtool/upgrade.py
@@ -236,16 +236,22 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin
             for patch in patches:
                 logger.warn("%s" % os.path.basename(patch))
     else:
+        __run('git checkout devtool-patched -b %s' % branch)
+        skiptag = False
         try:
-            __run('git checkout devtool-patched -b %s' % branch)
             __run('git rebase %s' % rev)
+        except bb.process.ExecutionError as e:
+            skiptag = True
+            if 'conflict' in e.stdout:
+                logger.warn('Command \'%s\' failed:\n%s\n\nYou will need to resolve conflicts in order to 
complete the upgrade.' % (e.command, e.stdout.rstrip()))
+            else:
+                logger.warn('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
+        if not skiptag:
             if uri.startswith('git://'):
                 suffix = 'new'
             else:
                 suffix = newpv
             __run('git tag -f devtool-patched-%s' % suffix)
-        except bb.process.ExecutionError as e:
-            logger.warn('Command \'%s\' failed:\n%s' % (e.command, e.stdout))
 
     if tmpsrctree:
         if keep_temp:


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