
# Establish clone from local


# create the clone from the local or remote

___x_cmd_gitb_create()(
    local remote
    local localgit
    while [ $# -gt 0 ]; do
        case "$1" in
            --remote)       remote="$2" ;       shift 2 ;;
            --local)        localgit="$2" ;     shift 2 ;;
            *)              break ;;
        esac
    done

    remote="${remote:?Provide --remote <url>}"

    # create the folder using remote name
    local name="${remote##*/}"
    case "$name" in
        *.git)  name="${name%.git}" ;;
    esac

    x mcd "$name" || return

    # if localgit exists, fetch the object using localgit
    if [ -n "$localgit" ] && [ -d "$localgit" ]; then
        git clone --bare --reference "$localgit" "$remote" .
    # if not, clone from remote.
    else
        git clone --bare "$remote" .
    fi
)
