Ignore:
Timestamp:
04/18/2006 22:39:16 (6 years ago)
Author:
yontege
Message:

Added the ability to complete checkpoints while not in working paths.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • confman/bash_completions

    r87 r88  
    77{ 
    88        local cur prev cmds twoback cmds fd_cmds mod_cmds chkpt_cmds 
     9        local CONFMAN CONFMAN_CONF CONFMAN_RC RECIPE_PATH WORK_PATH 
    910 
    1011        # Setup ConfMan specific vars 
     
    1213        CONFMAN_CONF="/usr/local/rescomp/etc/confman.conf" 
    1314        CONFMAN_RC="~/.confmanrc" 
    14         if [ -e ${CONFMAN_CONF} ] ; then 
     15        if [ -e ${CONFMAN_RC} ] ; then 
     16                RECIPE_PATH=$(grep '^RECIPE_PATH' ${CONFMAN_RC}|cut -d'"' -f2) 
     17                WORK_PATH=$(grep '^WORK_PATH' ${CONFMAN_RC}|cut -d'"' -f2) 
     18        elif [ -e ${CONFMAN_CONF} ] ; then 
    1519                RECIPE_PATH=$(grep '^RECIPE_PATH' ${CONFMAN_CONF}|cut -d'"' -f2) 
    16         elif [ -e ${CONFMAN_RC} ] ; then 
    17                 RECIPE_PATH=$(grep '^RECIPE_PATH' ${CONFMAN_RC}|cut -d'"' -f2) 
     20                WORK_PATH=$(grep '^WORK_PATH' ${CONFMAN_CONF}|cut -d'"' -f2) 
    1821        fi 
     22        RECIPE_PATH=$(eval echo $RECIPE_PATH) 
     23        WORK_PATH=$(eval echo $WORK_PATH) 
    1924 
    2025        # Setup Standard command completion vars 
     
    6772        elif [ "rollback" == "${twoback}" ] ; then 
    6873                local module=${prev} 
     74                local module_path="${WORK_PATH}/${module}" 
    6975                local named_checkpoints=$(confman checklook ${module}|\ 
    70                                                 tr '\n' ' ') 
    71                 local numbered_checkpoints=$(confman log |grep '^r[0-9][0-9]*' |\ 
     76                                                tr '\n' ' ' 
     77                                        ) 
     78                local numbered_checkpoints=$(confman log $module_path|grep '^r[0-9][0-9]*' |\ 
    7279                        sed 's/.*\(20[0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9]\).*/"\1\2\3"/'|\ 
    7380                        tr '\n' ' ') 
     
    7683                return 0 
    7784        elif [ "rollback" == "${threeback}" ] ; then 
     85                local module=${twoback} 
     86                local module_path="${WORK_PATH}/${module}" 
    7887                local day=${prev:0:4}-${prev:4:2}-${prev:6:2} 
    79                 local hoursmins=$(confman log |grep '^r[0-9][0-9]*' |\ 
    80                                                         grep 2006-04-06|\ 
    81                                                         sed 's/.*20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] \([0-9][0-9]\):\([0-9][0-9]\).*/"\1\2"/'|\ 
    82                                                         tr '\n' ' ') 
     88                local hoursmins=$(confman log $module_path|grep '^r[0-9][0-9]*' |\ 
     89                                        grep 2006-04-06|\ 
     90                                        sed 's/.*20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] \([0-9][0-9]\):\([0-9][0-9]\).*/"\1\2"/'|\ 
     91                                        tr '\n' ' ' 
     92                                ) 
    8393                COMPREPLY=($(compgen -W "${hoursmins}" -- ${cur})) 
    8494                return 0 
Note: See TracChangeset for help on using the changeset viewer.