
___x_cmd_gitb_clone(){
    local code='command git clone'
    local mode

    local replace

    local i=1
    for arg in "$@"; do
        i=$((i+1))
        case "$arg" in
            -*)
                code="$code \"\$$i\""
                ;;
            *)
                [ -z "$mode" ] || code="$code \"\$$i\""
                mode=1
                if ! replace="$(___x_cmd_gitb_which "$arg")"; then
                    gitb:warn "Not found local bare mirror of $arg. Trying to fetch"
                    if ! ___x_cmd_gitb_add "$arg"; then
                        gitb:error "Abort. Fail to add: $arg"
                        return 1
                    fi

                    replace="$(___x_cmd_gitb_which "$arg")" || {
                        gitb:error "Unexpected error in ___x_cmd_gitb_clone. Please fire a bug."
                        return 1
                    }
                    gitb:info "Using local bare mirror of $arg: $replace"
                fi
                gitb:info "Using local bare mirror of $arg: $replace"
                code="$code \"\$replace\""
                ;;
        esac
    done


    eval "$code"
}
