Commit 0f565bee authored by Vitaly Lipatov's avatar Vitaly Lipatov

gitask: add support for tasks with # in the begin

parent d150a170
...@@ -40,6 +40,18 @@ if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then ...@@ -40,6 +40,18 @@ if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
exit 0 exit 0
fi fi
# with support for #NUM
is_task_number()
{
echo "$*" | estrlist filter_strip_spaces | grep -q "^#\?[0-9]\+$"
}
# clean from possible #
get_task_number()
{
echo "$*" | estrlist filter_strip_spaces | sed -e "s|^#||"
}
get_last() get_last()
{ {
ssh $GEARHOST task ls | head -n1 | sed -e "s|^#\([0-9]*\) .*|\1|g" ssh $GEARHOST task ls | head -n1 | sed -e "s|^#\([0-9]*\) .*|\1|g"
...@@ -64,7 +76,7 @@ if [ "$1" = "get" ] ; then ...@@ -64,7 +76,7 @@ if [ "$1" = "get" ] ; then
if [ "$1 $2" = "get subtask" ] ; then if [ "$1 $2" = "get subtask" ] ; then
[ -n "$3" ] || fatal "get subtask TASK PROJECTNAME" [ -n "$3" ] || fatal "get subtask TASK PROJECTNAME"
[ -n "$4" ] || fatal "get subtask $3 PROJECTNAME" [ -n "$4" ] || fatal "get subtask $3 PROJECTNAME"
get_subtask "$3" "$4" get_subtask "$(get_task_number $3)" "$4"
exit exit
elif [ "$1 $2 $3" = "get last " ] || [ "$1 $2 $3" = "get last task" ] ; then elif [ "$1 $2 $3" = "get last " ] || [ "$1 $2 $3" = "get last task" ] ; then
get_last get_last
...@@ -120,7 +132,7 @@ fi ...@@ -120,7 +132,7 @@ fi
if [ "$1" = "log" ] ; then if [ "$1" = "log" ] ; then
shift shift
TASK="$1" TASK="$(get_task_number $1)"
[ -n "$TASK" ] || TASK="$(get_last)" || fatal [ -n "$TASK" ] || TASK="$(get_last)" || fatal
showcmd "$GEARHOST>" girar-show "$TASK" showcmd "$GEARHOST>" girar-show "$TASK"
GIT_ALT=$GEARHOST girar-show "$TASK" GIT_ALT=$GEARHOST girar-show "$TASK"
...@@ -147,7 +159,7 @@ fi ...@@ -147,7 +159,7 @@ fi
if [ "$1" = "delsub" ] ; then if [ "$1" = "delsub" ] ; then
shift shift
TASK="$1" TASK="$(get_task_number $1)"
[ -n "$TASK" ] || TASK="$(get_last)" || fatal [ -n "$TASK" ] || TASK="$(get_last)" || fatal
shift shift
while [ -n "$1" ] ; do while [ -n "$1" ] ; do
...@@ -197,12 +209,12 @@ if [ "$1" = "add" ] ; then ...@@ -197,12 +209,12 @@ if [ "$1" = "add" ] ; then
ADDCMD='' ADDCMD=''
ADDCMDLIST="del copy repo rebuild" ADDCMDLIST="del copy repo rebuild"
# add TASKNUMBER package # add TASKNUMBER package
if isnumber "$2" && estrlist has "$3" $ADDCMDLIST ; then if is_task_number "$2" && estrlist has "$3" $ADDCMDLIST ; then
TASK="$2" TASK="$(get_task_number $2)"
ADDCMD="$3" ADDCMD="$3"
shift 3 shift 3
elif isnumber "$2" && isnumber "$3" && estrlist has "$4" $ADDCMDLIST ; then elif is_task_number "$2" && isnumber "$3" && estrlist has "$4" $ADDCMDLIST ; then
TASK="$2" TASK="$(get_task_number $2)"
SUBTASK="$3" SUBTASK="$3"
ADDCMD="$4" ADDCMD="$4"
shift 4 shift 4
...@@ -234,11 +246,11 @@ fi ...@@ -234,11 +246,11 @@ fi
if [ "$1" = "show" ] ; then if [ "$1" = "show" ] ; then
shift shift
COMMIT='' COMMIT=''
TASKLIST="$1" TASK="$(get_task_number $1)"
if [ -z "$TASKLIST" ] ; then if [ -z "$TASK" ] ; then
TASKLIST="$(get_last)" || fatal "Can't get last task" TASK="$(get_last)" || fatal "Can't get last task"
fi fi
docmd ssh $GEARHOST task show "$TASKLIST" docmd ssh $GEARHOST task show "$TASK"
exit exit
fi fi
...@@ -254,7 +266,8 @@ if [ "$1" = "run" ] || [ "$1" = "commit" ] ; then ...@@ -254,7 +266,8 @@ if [ "$1" = "run" ] || [ "$1" = "commit" ] ; then
while [ -n "$1" ] ; do while [ -n "$1" ] ; do
# TODO: check for number? # TODO: check for number?
if echo "$1" | grep -qv "^-" ; then if echo "$1" | grep -qv "^-" ; then
TASKLIST="$TASKLIST $1" TASK="$(get_task_number $1)"
TASKLIST="$TASKLIST $TASK"
elif [ "$1" = "-m" ] ; then elif [ "$1" = "-m" ] ; then
#MESSAGE="$1 ${2// /_}" #MESSAGE="$1 ${2// /_}"
MESSAGE="-m -" MESSAGE="-m -"
...@@ -276,18 +289,19 @@ fi ...@@ -276,18 +289,19 @@ fi
if [ "$1" = "cancel" ] ; then if [ "$1" = "cancel" ] ; then
shift shift
#TASK="$(get_last)" || fatal TASK="$(get_task_number $1)"
if [ "$GEARHOST" = "git.eter" ] || [ "$GEARHOST" = "git.office" ] ; then if [ "$GEARHOST" = "git.eter" ] || [ "$GEARHOST" = "git.office" ] ; then
docmd ssh $GEARHOST task cancel "$@" docmd ssh $GEARHOST task cancel "$TASK"
else else
docmd ssh $GEARHOST task abort "$@" docmd ssh $GEARHOST task abort "$TASK"
fi fi
exit exit
fi fi
if [ "$1" = "share" ] && [ -n "$2" ] ; then if [ "$1" = "share" ] && [ -n "$2" ] ; then
#shift shift
docmd ssh $GEARHOST task share "$2" enable TASK="$(get_task_number $1)"
docmd ssh $GEARHOST task share "$TASK" enable
exit exit
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment