zoukankan      html  css  js  c++  java
  • gerrit_bash_commands.sh

    https://github.com/tomwys/gerrit-bash-commands

    gerrit_bash_commands.sh

    # Author: Tomasz Wysocki <tomasz@wysocki.info>
    function workonbranch {
        if [ "$1" = "" ]
        then
            echo "Usage: workonbranch [branch name]"
            return 1
        fi
        if [ "$CURRENT_BRANCH" != "" ]
        then
            deactivatebranch
        fi
        _WORKONBRANCH_OLD_PS1="$PS1"
        CURRENT_BRANCH="$1"
        PS1="[$CURRENT_BRANCH]$PS1"
    }
    
    function deactivatebranch {
        _branch_check_if_active || return 1
    
        PS1="$_WORKONBRANCH_OLD_PS1"
        unset CURRENT_BRANCH
    }
    
    function _branch_check_if_active {
        if [ "$CURRENT_BRANCH" = "" ]
        then
            echo "No branch activated"
            return 1
        fi
        return 0
    }
    
    function branch_push_for {
        OPTIND=0
        RECIVE_PACK='git receive-pack'
        while getopts "r:" O; do
            case "$O" in
              r)
                RECIVE_PACK="$RECIVE_PACK --reviewer $OPTARG"
                ;;
              c)
                RECIVE_PACK="$RECIVE_PACK --cc $OPTARG"
                ;;
            esac
        done;
        shift $((OPTIND-1));
        _branch_check_if_active || return 1
        git push --receive-pack="$RECIVE_PACK" origin "HEAD:refs/for/$CURRENT_BRANCH" $@
    }
    
    function branch_push_heads {
        _branch_check_if_active || return 1
        git push origin "HEAD:refs/heads/$CURRENT_BRANCH" $@
    }
    
    function branch_push_drafts {
        _branch_check_if_active || return 1
        git push origin "HEAD:refs/drafts/$CURRENT_BRANCH" $@
    }
    
    function branch_checkout {
        if [ "$1" != "" ]
        then
            workonbranch $1
        fi
        _branch_check_if_active || return 1
        git fetch -p && git checkout "origin/$CURRENT_BRANCH"
    }
    
    function close_branch {
        if [ "$1" = "" ]
        then
            echo "close_branch [branch name]"
            exit 1
        fi
        branch_checkout master && git merge origin/$1 --no-ff && branch_push_heads && git push origin :refs/heads/$1
    }
    
    _complete_branch() {
        # bash-completion for branch name
        # based on: http://devmanual.gentoo.org/tasks-reference/completion/index.html
        local cur prev opts
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        opts=$(git branch -r| grep origin | grep -v HEAD | sed 's/  origin///')
    
        if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
            return 0
        fi
    }
    _complete_user() {
        # bash-completion for git user
        # based on: http://devmanual.gentoo.org/tasks-reference/completion/index.html
        local cur prev opts
        COMPREPLY=()
        prev="${COMP_WORDS[$COMP_CWORD-1]}"
        cur="${COMP_WORDS[$COMP_CWORD]}"
    
        if [ "$prev" = "-r" -o "$prev" = "-c" ] ; then
            opts=$(git log --pretty=format:'%ae' | sort | uniq)
            COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
            return 0
        fi
    }
    complete -F _complete_branch workonbranch
    complete -F _complete_branch branch_checkout
    complete -F _complete_branch close_branch
    complete -F _complete_user branch_push_for
  • 相关阅读:
    【版本控制工具】 Git进阶1
    【版本控制工具】 Git基础
    问题:com.alibaba.dubbo.rpc.RpcException: Failed to invoke ......
    互联网安全架构之常见的Web攻击手段及解决办法
    【Spring Boot】七、整合actuator实现监控管理
    问题:tomcat启动后,可以访问主页面,但是无法访问dubbo-admin
    【Spring Boot】六、整合dubbo(注解的方式)
    这篇文章,彻底搞懂八大开源框架源码
    Spring Cloud Greenwich.SR4 发布了,跟不上了……
    手把手教你画架构图,看一次就会了!
  • 原文地址:https://www.cnblogs.com/onelikeone/p/6857867.html
Copyright © 2011-2022 走看看