# This file is sourced by lustre/lustrecvs

portalstag=""
lnettag="HEAD"
libsysiotag="HEAD"
snmptag="HEAD"

export LC_COLLATE=C

case "$lustretag" in
    '')
        warn "a lustretag is required."
        usage >&2
        exit 1
        ;;
    --help | -h)
        usage
        exit 0
        ;;

    # this is the branch table
    # keep this list sorted alphabetically!

    # Note these are "specials" -- branches using lnet HEAD don't need an
    # entry here.

    b1_2)
        portalstag="b1_2"
        lnettag=""
        libsysiotag=""
        snmptag=""
        ;;

    b1_4_atime_update)
        portalstag="b_hd_newconfig"
        ;;

    b1_4_join)
        portalstag="b_hd_newconfig"
        ;;

    b1_4_lfs_df)
        portalstag="b_hd_newconfig"
        ;;

    b1_4_lov_lvb_cleanup)
        portalstag="b_hd_newconfig"
        ;;

    b1_4_next_recovery_transno)
        portalstag="b_hd_newconfig"
        ;;

    b_new_cmd)
	portalstag="b_new_portals"
        # lnettag="b_lnet_tmp"
        ;;

    b_cmd*)
        portalstag="$lustretag"
        ;;

    b_iam*)
        portalstag="b_hd_newconfig"
        # XXX temorary tag until b_iam* is updated from b1_4 liblustre
        libsysiotag="HEAD_RELEASE_1_4_6_LAND_PARENT_20060223_1455"
        ;;

    b_ioprovement)
        portalstag="b_ioprovement"
        ;;

    b_newconfig_rdmarouting)
        portalstag="b_hd_newconfig"
        lnettag="b_newconfig_rdmarouting"
        lustretag="b1_4"
        ;;

    b_port_ahead)
        portalstag="b_port_ahead"
        ;;

    b_port_netid)
        portalstag="b_port_netid"
        ;;

    # b_port_step is only for portals
    b_port_step)
        portalstag="b_port_step"
        lustretag="HEAD"
        ;;

    b_port_test)
        portalstag="b_port_test"
        ;;

    b_ptl_smallfix)
        portalstag="b_ptl_smallfix"
        lustretag="b1_4"
        ;;

    b_ptlrpc_cleanup)
        portalstag="b_ptlrpc_cleanup"
        ;;

    b_self_test)
        # lnet self test development branch
	lnettag="b_self_test"
	lustretag="HEAD"
	;;

    # before 1_4_6, we didn't have lnet or snmp
    b_release_1_2_*|b_release_1_4_[0-5])
        portalstag="$lustretag"
        lnettag=""
        libsysiotag="$lustretag"
        snmptag=""
        ;;

    b_release_1_4_6-patchless)
        portalstag=b_release_1_4_6
        lnettag=b_release_1_4_6-patchless
        libsysiotag=b_release_1_4_6
        snmptag=b_release_1_4_6
        ;;

    b_release_1_4_6)
        portalstag="$lustretag"
        lnettag="$lustretag"
        libsysiotag="$lustretag"
        snmptag="$lustretag"
        ;;

    # all later b_release_* tags
    b_release_*)
        lnettag="$lustretag"
        libsysiotag="$lustretag"
        snmptag="$lustretag"
        ;;

    # uOSS
    b_uoss)
        lnettag="b_uoss"
        ;;

    # v1.0-v1.3, v1.4.0-v1.4.2
    v1_[0-3]_*|v1_4_[0-2]|v1_4_[0-2]_*)
        portalstag="$lustretag"
        lnettag=""
        libsysiotag="$lustretag"
        snmptag=""
        ;;

    # v1.4.3-v1.4.5, v1.4.5.1 - v1.4.5.9
    v1_4_[3-5]|v1_4_[3-4]_*|v1_4_5_[1-9]|cray_2005*)
        portalstag="$lustretag"
        lnettag=""
        libsysiotag="$lustretag"
        snmptag="$lustretag"
        ;;

    # v1.4.6, v1.4.6.[1-91]
    v1_4_6_[1-9]|v1_4_6_9[01])
        portalstag="$lustretag"
        lnettag=""
        libsysiotag="$lustretag"
        snmptag="$lustretag"
        ;;

    # all later v* tags
    v[1-9]*)
        lnettag="$lustretag"
        libsysiotag="$lustretag"
        snmptag="$lustretag"
        ;;
esac

cvs_cmd libsysio libsysio "$libsysiotag"
cvs_cmd portals portals "$portalstag"
cvs_cmd lnet lnet "$lnettag"
cvs_cmd snmp lustre-snmp "$snmptag"
cvs_cmd lustre lustre-core "$lustretag"