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 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)