Example #1
0
File: Delete.py Project: rec/grit
def do_delete(branches, print=print):
    pulls = set(branches) & set(Git.pull_branches())
    if pulls:
        raise Exception("Can't delete pull branches: " + ' '.join(pulls))

    success = set()
    for b in branches:
        try:
            Git.remove_local_branch(b, print=print)
            success.add(b)
        except:
            print and print('No local branch %s.' % b)
        try:
            Git.remove_origin_branch(b, print=print)
            success.add(b)
        except:
            print and print('No origin branch %s.' % b)

    return success, set(branches) - success
Example #2
0
File: Branches.py Project: rec/grit
def branches(prefix='', *args):
    root = GitRoot.root_container()
    pulls = Git.pull_branches()

    if not ARGS.expanded:
        fname = ['']

        def before(f):
            fname[0] = os.path.basename(f)

        def callback(data):
            parts = filter(None, data.splitlines())
            for i, p in enumerate(parts):
                branch = p.split()[-1]
                if branch in pulls:
                    branch += '(%s)' % pulls[branch]
                if p.startswith('*'):
                    branch = '*' + branch
                parts[i] = branch
            print('%-12s  %s' % (fname[0] + ':', ' '.join(parts)))

        Call.for_each_directory(
            BRANCH_COMMAND,
            path=root,
            select=GitRoot.select(prefix),
            before=before,
            callback=callback)
    else:
        def before(f):
            print('\n%s:' % os.path.basename(f))
        Call.for_each_directory(
            BRANCH_COMMAND,
            path=root,
            select=GitRoot.select(prefix),
            before=before)

    if args:
        print('ERROR: arguments %s ignored' % ', '.join(args))