def merge(args): c = fetch_config(args) g = GitRepo(c.paths.projectroot) from_branch = g.current_branch() branch_name = str(id(c.runstate.git_branch)) g.checkout_branch(branch_name, c.runstate.git_branch) try: g.checkout(branch_name) g.rebase(from_branch) g.checkout(from_branch) g.merge(c.runstate.git_branch) logger.info('rebased and merged {0} into {1}'.format( c.runstate.git_branch, from_branch)) except Exception as e: logger.warning('error attempting to merge branch: ' + c.runstate.git_branch) logger.error(e) finally: if g.current_branch != from_branch: g.checkout(from_branch) g.remove_branch(branch_name, force=False)
def close(args): "Removes a tracked code review." g = GitRepo() cr_data_file = get_cr_data_file(g) safe_create_code_review_data_file(cr_data_file) with CodeReviewConfiguration.persisting(cr_data_file) as data: branches = data.branches.keys() for to_delete in args._branch_name: if to_delete in branches: del data.branches[to_delete] logger.info('removed tracked code review for: ' + to_delete) else: logger.info("not tracking a code review for: " + to_delete) try: g.remove_branch(to_delete, args.force) logger.info('removed branch: ' + to_delete) except: logger.error('could not remove branch: ' + to_delete)
def close(args): "Removes a tracked code review." g = GitRepo() cr_data_file = get_cr_data_file(g) safe_create_code_review_data_file(cr_data_file) with CodeReviewConfiguration.persisting(cr_data_file) as data: branches = data.branches.keys() for to_delete in args._branch_name: if to_delete in branches: del data.branches[to_delete] logger.info('removed tracked code review for: ' + to_delete) else: logger.info("not tracking a code review for: " + to_delete) try: g.remove_branch(to_delete, args.force) logger.info('removed branch: ' + to_delete) except: logger.error('could not remove branch: ' + to_delete)
def merge(args): c = fetch_config(args) g = GitRepo(c.paths.projectroot) from_branch = g.current_branch() branch_name = str(id(c.runstate.git_branch)) g.checkout_branch(branch_name, c.runstate.git_branch) try: g.checkout(branch_name) g.rebase(from_branch) g.checkout(from_branch) g.merge(c.runstate.git_branch) logger.info('rebased and merged {0} into {1}'.format(c.runstate.git_branch, from_branch)) except Exception as e: logger.warning('error attempting to merge branch: ' + c.runstate.git_branch) logger.error(e) finally: if g.current_branch != from_branch: g.checkout(from_branch) g.remove_branch(branch_name, force=False)