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