| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| function subversion_commitRepoChanges { |
| |
| local -a FILES |
| local -a INFO |
| local -a FILESNUM |
| local COUNT=0 |
| local STATUSOUT='' |
| local PREDICATE='' |
| local CHNGTOTAL=0 |
| local LOCATION=$(cli_checkRepoDirSource "$1") |
| |
| |
| |
| |
| |
| |
| cli_checkFiles ${LOCATION} -e --is-versioned |
| |
| |
| cli_printMessage "`gettext "Checking changes in the working copy"`" --as-banner-line |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| if [[ ${LOCATION} =~ 'Documentation/Manuals/Texinfo)' ]];then |
| STATUSOUT="$(${COMMAND} status ${LOCATION} | egrep -v '(pdf|txt|xhtml|xml|docbook|bz2)$')\n$STATUSOUT" |
| elif [[ $LOCATION =~ 'Documentation/Manuals/Docbook' ]];then |
| STATUSOUT="$(${COMMAND} status ${LOCATION} | egrep -v '(pdf|txt|xhtml)$')\n$STATUSOUT" |
| elif [[ $LOCATION =~ 'Identity' ]];then |
| STATUSOUT="$(${COMMAND} status ${LOCATION} | egrep -v '(pdf|png|jpg|rc|xpm|xbm|tif|ppm|pnm|gz|lss|log)$')\n$STATUSOUT" |
| else |
| STATUSOUT="$(${COMMAND} status ${LOCATION})\n$STATUSOUT" |
| fi |
| |
| |
| |
| STATUSOUT=$(echo -e "$STATUSOUT" | sed -r 's!^[[:space:]]*!!' | egrep -v '^[[:space:]]*$') |
| |
| |
| |
| FILES[0]=$(echo "$STATUSOUT" | egrep "^M" | sed -r "s,^.+${TCAR_WORKDIR}/,,") |
| FILES[1]=$(echo "$STATUSOUT" | egrep "^\?" | sed -r "s,^.+${TCAR_WORKDIR}/,,") |
| FILES[2]=$(echo "$STATUSOUT" | egrep "^D" | sed -r "s,^.+${TCAR_WORKDIR}/,,") |
| FILES[3]=$(echo "$STATUSOUT" | egrep "^A" | sed -r "s,^.+${TCAR_WORKDIR}/,,") |
| |
| |
| |
| INFO[0]="`gettext "Modified"`" |
| INFO[1]="`gettext "Unversioned"`" |
| INFO[2]="`gettext "Deleted"`" |
| INFO[3]="`gettext "Added"`" |
| |
| while [[ $COUNT -ne ${#FILES[*]} ]];do |
| |
| |
| if [[ "${FILES[$COUNT]}" == '' ]];then |
| FILESNUM[$COUNT]=0 |
| else |
| FILESNUM[$COUNT]=$(echo "${FILES[$COUNT]}" | wc -l) |
| fi |
| |
| |
| CHNGTOTAL=$(($CHNGTOTAL + ${FILESNUM[$COUNT]})) |
| |
| |
| |
| |
| |
| |
| |
| PREDICATE[$COUNT]=`ngettext "file in the working copy" \ |
| "files in the working copy" $((${FILESNUM[$COUNT]} + 1))` |
| |
| |
| cli_printMessage "${INFO[$COUNT]}: ${FILESNUM[$COUNT]} ${PREDICATE[$COUNT]}" --as-stdout-line |
| |
| |
| COUNT=$(($COUNT + 1)) |
| |
| done |
| |
| |
| |
| |
| if [[ ${FILESNUM[0]} -gt 0 ]];then |
| |
| cli_printMessage "`gettext "Do you want to see changes now?"`" --as-yesornorequest-line |
| ${COMMAND} diff ${LOCATION} | less |
| |
| |
| cli_printMessage "`gettext "Do you want to commit changes now?"`" --as-yesornorequest-line |
| ${COMMAND} commit ${LOCATION} |
| |
| fi |
| |
| |
| |
| |
| if [[ ${FILESNUM[1]} -gt 0 ]];then |
| |
| cli_printMessage '-' --as-separator-line |
| cli_printMessage "`gettext "Do you want to add unversioned files now?"`" --as-yesornorequest-line |
| for FILE in ${FILES[1]};do |
| ${COMMAND} add "${TCAR_WORKDIR}/$FILE" |
| done |
| |
| |
| cli_printMessage "`gettext "Do you want to commit changes now?"`" --as-yesornorequest-line |
| ${COMMAND} commit ${LOCATION} |
| |
| fi |
| |
| |
| |
| |
| if [[ ${FILESNUM[3]} -gt 0 ]];then |
| cli_printMessage '-' --as-separator-line |
| cli_printMessage "`gettext "Do you want to commit changes now?"`" --as-yesornorequest-line |
| ${COMMAND} commit ${LOCATION} |
| fi |
| |
| } |