Support check whether commit exist in remote branch
authorLin Yang <lin.a.yang@intel.com>
Thu, 30 Aug 2012 08:17:56 +0000 (16:17 +0800)
committerLin Yang <lin.a.yang@intel.com>
Thu, 30 Aug 2012 08:17:56 +0000 (16:17 +0800)
common/git.py

index f760875..ec67182 100644 (file)
@@ -401,16 +401,19 @@ class Git:
 
     def branch_contains(self, cmitid):
         with Workdir(self.path):
-            ret, outs = self._exec_git('branch --contains', [cmitid])
+            ret, outs = self._exec_git('branch -a --contains', [cmitid])
         if not ret:
-            branchs = []
+            branches = []
             for br in outs.splitlines():
-                if br.startswith('* '):
-                    branchs.append(br[len('* '):])
-                else:
-                    branchs.append(br)
-            print 'git branch contains %s' % branchs
-            return branchs 
+                if br.find('remotes/origin/HEAD ->') != -1:
+                    continue
+                br = br.strip().lstrip('* ')
+                if br.startswith('remotes/origin/'):
+                    br = br[len('remotes/origin/'):]
+                if br not in branches:
+                    branches.append(br)
+            print 'git branch contains %s' % branches
+            return branches
         else:
             return None