|
|
|
@ -56,10 +56,14 @@ def GetUpstream(git_dir, branch): |
|
|
|
|
Returns: |
|
|
|
|
Name of upstream branch (e.g. 'upstream/master') or None if none |
|
|
|
|
""" |
|
|
|
|
remote = command.OutputOneLine('git', '--git-dir', git_dir, 'config', |
|
|
|
|
'branch.%s.remote' % branch) |
|
|
|
|
merge = command.OutputOneLine('git', '--git-dir', git_dir, 'config', |
|
|
|
|
'branch.%s.merge' % branch) |
|
|
|
|
try: |
|
|
|
|
remote = command.OutputOneLine('git', '--git-dir', git_dir, 'config', |
|
|
|
|
'branch.%s.remote' % branch) |
|
|
|
|
merge = command.OutputOneLine('git', '--git-dir', git_dir, 'config', |
|
|
|
|
'branch.%s.merge' % branch) |
|
|
|
|
except: |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
if remote == '.': |
|
|
|
|
return merge |
|
|
|
|
elif remote and merge: |
|
|
|
@ -78,9 +82,11 @@ def GetRangeInBranch(git_dir, branch, include_upstream=False): |
|
|
|
|
branch: Name of branch |
|
|
|
|
Return: |
|
|
|
|
Expression in the form 'upstream..branch' which can be used to |
|
|
|
|
access the commits. |
|
|
|
|
access the commits. If the branch does not exist, returns None. |
|
|
|
|
""" |
|
|
|
|
upstream = GetUpstream(git_dir, branch) |
|
|
|
|
if not upstream: |
|
|
|
|
return None |
|
|
|
|
return '%s%s..%s' % (upstream, '~' if include_upstream else '', branch) |
|
|
|
|
|
|
|
|
|
def CountCommitsInBranch(git_dir, branch, include_upstream=False): |
|
|
|
@ -90,9 +96,12 @@ def CountCommitsInBranch(git_dir, branch, include_upstream=False): |
|
|
|
|
git_dir: Directory containing git repo |
|
|
|
|
branch: Name of branch |
|
|
|
|
Return: |
|
|
|
|
Number of patches that exist on top of the branch |
|
|
|
|
Number of patches that exist on top of the branch, or None if the |
|
|
|
|
branch does not exist. |
|
|
|
|
""" |
|
|
|
|
range_expr = GetRangeInBranch(git_dir, branch, include_upstream) |
|
|
|
|
if not range_expr: |
|
|
|
|
return None |
|
|
|
|
pipe = [['git', '--git-dir', git_dir, 'log', '--oneline', '--no-decorate', |
|
|
|
|
range_expr], |
|
|
|
|
['wc', '-l']] |
|
|
|
|